首批通过分布式安全可靠测评,为关键业务系统打造
TopSQL 诊断
更新时间:2023-08-16 15:51:32
TopSQL 是指总计执行平均耗时最长的 SQL 语句,在租户概览页面中,您可以根据时间范围、OBServer 节点对 TopSQL 进行筛选查询,并在 SQL 列表中查看 SQL 详情。
操作步骤
在左导航栏单击 租户 ,并在 租户列表 中单击具体的租户进入租户 总览 页面。
在左侧导航栏单击 SQL 诊断 ,进入 SQL 诊断 页面。
若集群参数 enable_sql_audit 和租户参数 ob_enable_sql_audit 中任何一个未配置成打开,则 SQL 诊断 页面将缺失 SQL 诊断数据。可通过提示中的按钮修改参数值。

单击 TopSQL 页签。
对 TopSQL 进行筛选。
配置筛选条件。
时间范围:可在 时间范围 下拉框中选择 近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3小时来快速选择时间范围;也可在下拉框中选择自定义时间,并配置开始时间和结束时间。默认显示近 30 分钟内的信息。
OBServer:选择 OBServer 节点,查询时将只查询在该 OBServer 节点上执行的 SQL。
内部 SQL:若勾选,则查询结果中会包含由 OceanBase 内部发起的 SQL。
关键词:查询结果中会显示 SQL 文本中包含该关键词的 SQL。
高级条件: 高级条件 支持同时添加多个过滤条件。单击 添加 ,在 添加高级条件 面板中,可对指标、运算符和指标值进行配置,查询时将获取指标满足条件的 SQL 展示在查询结果列表中。

单击 查询 ,下方列表中将展示所有符合查询条件的 SQL。
支持复制 SQL 文本,并根据数据库对 SQL 文本进行筛选。支持根据执行次数、总响应时间、平均响应时间、报错次数和计划生成时间对 SQL 文本进行排序,并可查看诊断结果。

单击 导出 TopSQL 按钮,将导出列表中展示的所有 SQL。
查看 TopSQL 信息。
- 单击 自定义列 ,在弹出框中对自定义列的列表达式和列名进行配置。配置完成后可在 TopSQL 列表中查看到相关信息。
说明
- 目前运算符只支持"+、-、*、/"和英文括号。
- 自定义列添加后,TopSQL 将按照自定义列进行排序。
- 仅支持定义一个自定义表达式。如果已经存在自定义列,新增自定义列后,新的表达式列将代替原有自定义列。
- 自定义列的属性名前须加 @ 或 $。

单击 列管理 ,即可在弹出框中选择需要查看的信息。勾选完成后即可在 TopSQL 列表中查看到相关信息。

单击 SQL 文本左侧的 + 按钮,您可查看 SQL 具体报错详情。

单击 SQL 文本,进入具体 SQL 页面。
在 SQL 详情 页中,您可查看该 SQL 的详细信息,包括:
在 SQL 文本 处查看 SQL 的完整语句。
在 优化建议 处查看对于该 SQL 的优化建议,详见 查看优化建议。
在 历史趋势 页签,查看该 SQL 运行的历史趋势,详见 查看 SQL 运行的历史趋势。
在 执行计划 页签,查看该 SQL 的执行计划,或为其绑定执行计划,详见 查看 SQL 的执行计划。
在 索引 页签,查看该 SQL 的绑定的索引,详见 查看和绑定索引。
在 SQL 限流 页签,查看该 SQL 的限流情况,或为其设置限流,详见 设置 SQL 限流。
在 执行计划 、 索引 、 SQL 限流 页签的图示 ① 处,均可查看该 SQL 的绑定记录。

在绑定记录中您可查看到已绑定计划的状态,可通过 取消绑定 按钮将 SQL 与该计划解绑,也可通过 绑定 按钮将二者再次绑定。
设置限流。
单击 设置限流 ,您可对 SQL 进行限流,详见 设置 SQL 限流。
勾选多个 SQL ,单击 批量设置限流 ,在弹窗框中输入并发数,可对相关 SQL 进行相同并发数限流设置。
说明
批量设置限流不支持进行关键字限流。