查看慢SQL 本节介绍了查看慢SQL的相关内容。 操作场景 GaussDB数据库实例存在慢SQL时,用户可以通过SQL限流功能控制异常SQL的访问量或者并发量,保障服务的可用性。支持SQL计划绑定和解绑执行计划操作,以及通过查询表定义功能识别出SQL文本中的表名信息,并根据表名、Schema名以及库名进行表定义的查询。 约束限制 因数据库内核未对慢SQL做持久化处理,在数据库实例发生重启、升级、规格变更、停止节点、启动节点、主备倒换、形态变更操作后,慢SQL视图将会被清空。 GaussDB实例的操作系统需要为HCEOS。 仅集中式实例支持SQl计划。 数据库引擎版本大于等于V2.03.208.0,内核版本大于等于503.1.0.SPC1200的实例支持查询表定义。 慢SQL查询的最大时间跨度为一天。 不支持对系统级别用户进行SQL限流。 查看慢SQL 步骤 1 登录管理控制台。 步骤 2 单击管理控制台左上角的 ,选择区域和项目。 步骤 3 在页面左上角单击 ,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。 步骤 4 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。 步骤 5 单击“诊断优化 > SQL诊断”。 步骤 6 在“慢SQL”页签,用户可按需选择指定节点,时间范围,组合过滤SQL文本、归一化SQL ID以及其他扩展字段,单击查询按钮,获取慢SQL列表。 用户可自行选择时间区间,最大时间跨度为一天,可按照节点维度展示数据。 过滤系统用户:开启后,将会跳过系统用户所执行的SQL记录。默认开启。 用户可以选择"OR"或者"AND"查询,筛选框中可以填入需要组合过滤的多个SQL文本(不超过5个)。 用户可以自行设置慢SQL阈值,只能设置阈值大于等于1秒,实时查询实例上大于等于该阈值的SQL执行信息。慢SQL阈值受参数logmindurationstatement参数控制,默认查询3s以上的慢SQL,如果要查询3s以下的慢SQL需要到参数管理模块调整参数值。如何修改参数请参考修改实例参数。 表 慢SQL部分参数说明 参数名称 参数解释 归一化SQL ID 慢SQL的归一化SQL ID。 节点名称/ID SQL执行的节点名称/ID。 用户名 执行该SQL的用户。 SQL文本 慢SQL的归一化模板语句。 SQL计划 SQL执行计划。 慢SQL次数 限定时间跨度内该慢SQL总执行次数。 平均执行时间(s) 限定时间跨度内该慢SQL模板的平均执行时间,单位:秒。 平均CPU耗时(s) CPU时间,单位:秒。 平均IO耗时(s) IO上的时间花费,单位:秒。 平均返回行数 SELECT返回的结果集行数。 平均扫描行数 执行SQL扫描的行数。 Buffer命中率 缓存命中率。 步骤 7 单击操作列中的“查看SQL”按钮,可查看采集的SQL和解析后的原始SQL。 开启trackstmtparameter参数后,会把SQL文本中的变量替换成真实值,展示原始的SQL。对于trackstmtparameter参数关闭时采集的SQL文本,无法获取到SQL参数变量的值,展示的内容为空。如何修改参数请参考修改实例参数。 步骤 8 单击操作列的“SQL限流”可以对选中慢SQL的归一化SQL ID进行限流。 结束