使用性能详情中的“主要 SQL”选项卡分析查询
在 Amazon RDS Performance Insights 控制面板中,您可以在 Top dimensions(主要维度)表中的 Top SQL(主要 SQL)选项卡下找到有关运行中查询和最近查询的信息。您可以使用此信息来优化查询。
主题
“Top SQL”(主要 SQL)选项卡概览
原定设置情况下,Top SQL(主要 SQL)选项卡将显示对数据库负载影响最大的 25 个 SQL 查询。为了帮助优化查询,您可以分析查询文本和 SQL 统计数据等信息。您还可以选择想要显示在 Top SQL(主要 SQL)选项卡中的统计数据。
SQL 文本
原定设置情况下,Top SQL(主要 SQL)表中的每行为每条语句显示 500 字节的文本。
要了解如何查看超过默认 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 语句进行分组,但不会编辑敏感信息。
Performance Insights 可以将 Oracle SQL 文本显示为 Unknown(未知)。文本会在以下情况下具有此状态:
-
除
SYS
以外的 Oracle 数据库用户处于活动状态,但当前未执行 SQL。例如,当并行查询完成时,查询协调器将等待帮助程序进程发送会话统计数据。在等待期间,查询文本将显示 Unknown(未知)。 -
对于标准版 2 上的 RDS for Oracle 实例,Oracle 资源管理器会限制并行线程的数量。执行此工作的后台进程会导致查询文本显示为 Unknown(未知)。
SQL 统计数据
SQL 统计数据是关于 SQL 查询的性能相关指标。例如,性能详情可能会显示每秒执行数或每秒处理的行数。性能详情仅收集最常见查询的统计数据。通常,它们与 Performance Insights 控制面板中显示的按负载列出的主要查询匹配。
Top SQL(主要 SQL)表中的每一行显示了 SQL 语句或摘要的相关统计数据,如以下示例所示。
Performance Insights 可以报告 SQL 统计数据的 0.00
和 -
(未知)。这种情况在以下条件下发生:
-
只存在一个样本。例如,Performance Insights 根据
pg_stat_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 语句关联的以下类型的标识符 (ID):
-
支持 SQL ID – SQL ID 的哈希值。此值仅用于当您处理 AWS Support 时引用 SQL ID。AWSSupport 无法访问您实际的 SQL ID 和 SQL 文本。
-
支持摘要 ID – 摘要 ID 的哈希值。此值仅用于当您处理 AWS Support 时引用摘要 ID。AWSSupport 无法访问您实际的摘要 ID 和 SQL 文本。
选择统计数据首选项
您可以通过选择 Preferences(首选项)图标来控制 Top SQL(主要 SQL)选项卡中显示的统计数据。
当您选择 Preferences (首选项) 图标时,Preferences (首选项) 窗口将打开。以下屏幕截图是 Preferences(首选项)窗口的示例。
要启用您希望在 Top SQL(主要 SQL)选项卡中显示的统计数据,请使用鼠标滚动到窗口底部,然后选择 Continue(继续)。
有关 Amazon RDS 引擎每秒或每次调用统计数据的更多信息,请参阅Performance Insights 的 SQL 统计数据中引擎特定的 SQL 统计数据部分