更新时间:2025-09-05 GMT+08:00
分享

查看Top SQL

操作场景

GaussDB支持通过WDR快照查询指定时间内的Top SQL,从多个维度的资源监控、诊断SQL运行情况。

约束限制

  • Top SQL数据是从指定时间区间内,两个可用快照生成的性能报告中获取的,两次快照之间内不能有内核重置事件(节点重启、主备切换、DROP DATABASE等)。
  • 查询期间,指定时间区间内至少要有两个可以对比的快照,才可能会有Top SQL的数据,默认一个小时生成一次快照。

查看Top SQL

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
  4. “实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
  5. 单击“诊断优化 > SQL视图”。
  6. 在“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

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB,进入云数据库 GaussDB信息页面。
  4. “实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
  5. 单击“诊断优化 > SQL视图”。
  6. 在“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。

相关文档