首批通过分布式安全可靠测评,为关键业务系统打造
SlowSQL 诊断
更新时间:2023-08-16 15:51:32
SlowSQL 是指租户中执行响应时间超过一定阈值(默认阈值为 100ms)的 SQL,您可通过 SlowSQL 诊断识别风险语句,规避风险。
设置一般 SQL 执行时间
默认配置下,执行时间超过 100ms 的为慢 SQL。您可如下方法修改 SlowSQL 判定的默认阈值:
黑屏或使用 OceanBase 开发者中心(OceanBase Developer Center,ODC)执行如下 SQL 修改 SlowSQL 判定的默认阈值为 120000 微秒。
select collect_elapsed_threshold_us from ob_agent_collection_config_history where collection_name = 'slow_sql'; update ob_agent_collection_config_history set collect_elapsed_threshold_us = 120000 where collection_name = 'slow_sql';再修改 OCP 系统参数 ocp.ob.slowsql.threshold 的值为 120000 微秒。
操作步骤
在左导航栏单击 租户 ,并在 租户列表 中单击具体的租户进入租户 总览 页面。
在左侧导航栏单击 SQL 诊断 ,进入 SQL 诊断 页签。
若集群参数 enable_sql_audit 和租户参数 ob_enable_sql_audit 中任何一个未配置成打开,则 SQL 诊断 页面将缺失 SQL 诊断数据。可通过提示中的按钮修改参数值。

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

单击 查询 ,下方列表中将展示所有符合查询条件的 SQL。
单击 导出 SlowSQL 按钮,将导出列表中展示的所有 SQL。
查看 SlowSQL 信息。
单击 列管理 ,即可在弹出框中选择需要查看的信息。勾选完成后即可在 SlowSQL 列表中查看到相关信息。

在 SlowSQL 页签下, 可查看上一步骤选择的列信息。支持复制 SQL 文本,根据数据库和用户对 SQL 文本进行筛选,并支持根据执行次数、总响应时间、响应时间和 CPU 时间对 SQL 文本进行排序。

单击 SQL 文本下的内容,您可进入具体 SQL 页面。
在 SQL 详情 页中,您可查看该 SQL 的详细信息,包括:
在 SQL 文本 处查看 SQL 的完整语句。
在 优化建议 处查看对于该 SQL 的优化建议,详见 查看优化建议。
在 SQL 采样 处查看 SlowSQL 详情。您可查看近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3小时或自定义时间内的 TraceID、请求时间、请求 IP、数据库、用户、响应时间、CPU 时间、计划执行时间和 SQL 实际执行线程数。支持复制 TraceID;并可根据请求时间、响应时间、CPU 时间、计划执行时间和 SQL 实际执行线程数对 SQL 进行排序。

在 历史趋势 页签,查看该 SQL 运行的历史趋势,详见 查看 SQL 运行的历史趋势。
在 执行计划 页签,查看该 SQL 的执行计划,或为其绑定执行计划,详见 查看 SQL 的执行计划。
在 索引 页签,查看该 SQL 的绑定的索引,详见 查看和绑定索引。
在 SQL 限流 页签,查看该 SQL 的限流情况,或为其设置限流,详见 设置 SQL 限流。
在 执行计划 、 索引 、 SQL 限流 页签的图示 ① 处,均可查看该 SQL 的绑定记录。

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