查看Top SQL
操作场景
GaussDB支持通过WDR快照查询指定时间内的Top SQL,从多个维度的资源监控、诊断SQL运行情况。
约束限制
- Top SQL数据是从指定时间区间内,两个可用快照生成的性能报告中获取的,两次快照之间内不能有内核重置事件(节点重启、主备切换、DROP DATABASE等)。
- 查询期间,指定时间区间内至少要有两个可以对比的快照,才可能会有Top SQL的数据,默认一个小时生成一次快照。
查看Top SQL
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
- 单击“诊断优化 > SQL视图”。
- 在“Top SQL”页签,用户可按需选择指定节点,时间范围,组合过滤SQL文本、归一化SQL ID以及其他扩展字段,单击查询按钮,获取Top SQL列表。
- 用户可自行选择时间区间,最大时间跨度为一天,可按照节点维度展示数据。
- 过滤系统用户:开启后,将会跳过系统用户所执行的SQL记录。默认开启。
- 用户可以选择"OR"或者"AND"查询,筛选框中可以填入需要组合过滤的多个SQL文本(不超过5个)。
表1 Top SQL字段说明 字段名称
描述
归一化SQL ID
归一化SQL ID。
节点名称/ID
SQL执行节点的ID及名称。
用户名
执行SQL的用户。
SQL 文本
归一化SQL文本。
调用频率占比
查询时间区间内某条SQL的调用次数占总调用次数的比例。
CPU开销占比
查询时间区间内某条SQL的CPU开销占总CPU开销的比例。
IO开销占比
查询时间区间内某条SQL的IO开销占IO总开销的比例。
调用次数
查询时间区间内某条SQL的调用次数。
返回元组数
查询时间区间内某条SQL的SELECT返回的结果集行数的差值。
读取元组数
查询时间区间内某条SQL的顺序扫描行的差值。
平均时间开销
查询时间区间内某条SQL的平均时间开销。单位:ms。
总时间开销
查询时间区间内某条SQL的总时间开销。
单位:ms。
CPU开销
查询时间区间内某条SQL的CPU开销。
单位:ms。
IO开销
查询时间区间内某条SQL的IO开销。
单位:ms。
最小执行时间
查询时间区间内某条SQL的最小执行时间。单位:ms。
最大执行时间
查询时间区间内某条SQL的最大执行时间。单位:ms。
SQL命中率
查询时间区间内某条SQL命中率(命中行数/扫描行数)。
创建SQL PATCH
- 登录管理控制台。
- 单击管理控制台左上角的
,选择区域和项目。
- 在页面左上角单击
,选择 ,进入云数据库 GaussDB信息页面。
- 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
- 单击“诊断优化 > SQL视图”。
- 在“Top SQL”页签,单击“操作”列的“SQL PATCH”,显示“SQL PATCH详情”页面。
- 如果没创建SQL PATCH,输入PATCH名称、PATCH内容,单击“创建”,则可创建SQL PATCH。
图1 SQL PATCH
- 如果已创建SQL PATCH,则显示SQL PATCH信息。
图2 SQL PATCH详情
- 状态:单击
,可开启或关闭SQL PATCH。关闭SQL PATCH,状态显示未生效,开启SQL PATCH,状态显示生效中。
- 单击“删除”,则可删除SQL PATCH。
- 状态:单击
- 如果没创建SQL PATCH,输入PATCH名称、PATCH内容,单击“创建”,则可创建SQL PATCH。