首批通过分布式安全可靠测评,为关键业务系统打造
TopSQL 诊断
更新时间:2023-08-15 19:21:26
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 进行相同并发数限流设置。
说明
批量设置限流不支持进行关键字限流。