“Top SQL”(主要 SQL)选项卡概览 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

“Top SQL”(主要 SQL)选项卡概览

原定设置情况下,Top SQL(主要 SQL)选项卡将显示对数据库负载影响最大的 25 个 SQL 查询。为了帮助优化查询,您可以分析查询文本和 SQL 统计数据等信息。您还可以选择想要显示在 Top SQL(主要 SQL)选项卡中的统计数据。

SQL 文本

原定设置情况下,Top SQL(主要 SQL)表中的每行为每条语句显示 500 字节的文本。


                SQL 文本

要了解如何查看超过默认 500 字节的 SQL 文本,请参阅在 Performance Insights 控制面板中访问更多 SQL 文本

SQL 摘要是多个结构上相似但可能具有不同文本值的实际查询的组合。摘要用问号替换硬编码值。例如,摘要可能为 SELECT * FROM emp WHERE lname= ?。此摘要可能包含以下子查询:

SELECT * FROM emp WHERE lname = 'Sanchez' SELECT * FROM emp WHERE lname = 'Olagappan' SELECT * FROM emp WHERE lname = 'Wu'

要查看摘要中的文字 SQL 语句,请选择查询,然后选择加号 (+)。在以下示例中,所选查询为摘要。


                选定的 SQL 摘要
注意

SQL 摘要将相似的 SQL 语句进行分组,但不会编辑敏感信息。

Performance Insights 可以将 Oracle SQL 文本显示为 Unknown(未知)。文本会在以下情况下具有此状态:

  • SYS 以外的 Oracle 数据库用户处于活动状态,但当前未执行 SQL。例如,当并行查询完成时,查询协调器将等待帮助程序进程发送会话统计数据。在等待期间,查询文本将显示 Unknown(未知)。

  • 对于标准版 2 上的 RDS for Oracle 实例,Oracle 资源管理器会限制并行线程的数量。执行此工作的后台进程会导致查询文本显示为 Unknown(未知)。

SQL 统计数据

SQL 统计数据是关于 SQL 查询的性能相关指标。例如,性能详情可能会显示每秒执行数或每秒处理的行数。性能详情仅收集最常见查询的统计数据。通常,它们与 Performance Insights 控制面板中显示的按负载列出的主要查询匹配。

Top SQL(主要 SQL)表中的每一行显示了 SQL 语句或摘要的相关统计数据,如以下示例所示。


                主要 SQL

Performance Insights 可以报告 SQL 统计数据的 0.00-(未知)。这种情况在以下条件下发生:

  • 只存在一个样本。例如,Performance Insights 根据 pg_stats_statements 视图的多个样本,计算 RDS PostgreSQL 的更改速率。当工作负载运行时间较短时,Performance Insights 可能只收集一个样本,这意味着它无法计算更改速率。未知值用短划线 (-) 表示。

  • 两个样本具有相同的值。由于未发生更改,Performance Insights 无法计算更改速率,因此它将速率报告为 0.00

  • RDS PostgreSQL 语句缺乏有效的标识符。PostgreSQL 仅在解析和分析之后才会为语句创建标识符。因此,语句可以存在于 PostgreSQL 内部内存结构中,而无需标识符。由于 Performance Insights 每秒对内部内存结构进行一次采样,因此低延迟查询可能只出现在单个样本中。如果查询标识符对该样本不可用,则 Performance Insights 无法将此语句与其统计数据进行关联。未知值用短划线 (-) 表示。

有关 Amazon RDS 引擎的 SQL 统计数据的说明,请参阅 Performance Insights 的 SQL 统计数据

按等待状态排列的负载 (AAS)

Top SQL(主要 SQL)中,按等待状态排列的负载 (AAS) 列说明了与每个主要负载项目关联的数据库负载的百分比。此列按当前在数据库负载图表中选择的分组方式反映该项目的负载。有关平均活动会话数(AAS)的更多信息,请参阅平均活动会话数

例如,您可以按等待状态对数据库负载图表进行分组。您可以检查主要负载项目表中的 SQL 查询。在这种情况下,系统将对 DB Load by Waits (按等待状态排列的数据库负载) 栏进行大小调整、分段和颜色编码,以显示该查询在导致给定等待状态方面所起的作用大小,它还会显示哪些等待状态正在影响选定的查询。


                按等待状态排列的数据库负载

SQL 信息

Top SQL(主要 SQL)表中,您可以打开一条语句以查看其信息。信息将显示在底部窗格中。


                选定文本查询的“主要 SQL”表

与 SQL 语句关联的以下类型的标识符 (ID):

  • 支持 SQL ID – SQL ID 的哈希值。此值仅用于当您处理 Amazon Support 时引用 SQL ID。AmazonSupport 无法访问您实际的 SQL ID 和 SQL 文本。

  • 支持摘要 ID – 摘要 ID 的哈希值。此值仅用于当您处理 Amazon Support 时引用摘要 ID。AmazonSupport 无法访问您实际的摘要 ID 和 SQL 文本。

Preferences(首选项)

您可以通过选择 Preferences(首选项)图标来控制 Top SQL(主要 SQL)选项卡中显示的统计数据。


                统计数据首选项

当您选择 Preferences (首选项) 图标时,Preferences (首选项) 窗口将打开。以下屏幕截图是 Preferences(首选项)窗口的示例。


                “首选项”窗口

要启用您希望在 Top SQL(主要 SQL)选项卡中显示的统计数据,请使用鼠标滚动到窗口底部,然后选择 Continue(继续)。

有关 Amazon RDS 引擎每秒或每次调用统计数据的更多信息,请参阅Performance Insights 的 SQL 统计数据中引擎特定的 SQL 统计数据部分