首批通过分布式安全可靠测评,为关键业务系统打造
诊断 SlowSQL
更新时间:2026-02-11 10:28:56
SlowSQL 是指租户中执行响应时间超过一定阈值(默认阈值为 100ms)的 SQL,您可通过 SlowSQL 诊断识别风险语句,规避风险。
您可通过如下两个入口进行 SlowSQL 诊断:
入口一:登录 OCP,在左侧导航栏单击 诊断服务,选择需要查看的集群,进入集群 实时诊断 页面。
入口二:登录 OCP,进入租户 概览 页面,在左侧导航栏单击 SQL 诊断。
功能适用性
社区版暂不支持诊断服务,该功能需要通过 入口二 访问查看。
前提条件
-
当通过 入口一 诊断 SlowSQL 时,请确保当前登录 OCP 的用户具备如下权限:
集群只读 或 租户只读 资源权限。
诊断服务 实时诊断 菜单权限。
当通过 入口二 诊断 SlowSQL 时,请确保当前登录 OCP 的用户具备如下权限:
- 集群只读 或 租户只读 资源权限。
- 租户 SQL 诊断 菜单权限。
已在 管理参数 中开启 SQL 诊断采集 模块参数。
默认配置下,执行时间超过 100ms 的为 SlowSQL。您可在 集群 > 运维配置 > SQL 诊断采集 中找到参数 monagent.ob.slow.sql.threshold ,通过该参数修改 SlowSQL 判定的默认阈值,详情可参考 管理参数。
操作步骤
以下操作步骤以 入口一 为例。
在左导航栏单击 诊断服务 ,并在 集群详情 中单击集群名进入集群 实时诊断 页面。
系统默认进入 SQL 诊断 页签。
若集群参数 enable_sql_audit 和租户参数 ob_enable_sql_audit 中任何一个未配置成打开,则 SQL 诊断 页面将缺失 SQL 诊断数据。可通过提示中的按钮修改参数值。

单击 SlowSQL 页签。
对 SlowSQL 进行筛选。
配置筛选条件。
时间范围:可在 时间范围 下拉框中选择 近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3 小时、近 6 小时来快速选择时间范围;也可在下拉框中选择自定义时间,并配置开始时间和结束时间。默认显示近 6 小时内的信息。
OBServer:选择 OBServer 节点,查询时将只查询在该 OBServer 节点上执行的 SQL。
内部 SQL:若勾选,则查询结果中会包含由 OceanBase 内部发起的 SQL。
关键词:查询结果中会显示 SQL 文本中包含该关键词的 SQL。
高级搜索:下拉框中选择 SQL ID、总执行次数、每秒执行次数 等指标,并配置指标值,查询时将获取指标满足条件的 SQL 展示在查询结果列表中。
快速筛选:单击快捷筛选项,例如 全表扫描、多分区扫描 等,快速识别出需要优化的 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 小时、近 6 小时或自定义时间内的 SQL 原始文本、请求时间、请求 IP、数据库、用户、响应时间、CPU 时间、计划执行时间和 SQL 实际执行线程数。支持复制 SQL 原始文本;并可根据请求时间、响应时间、CPU 时间、计划执行时间和 SQL 实际执行线程数对 SQL 进行排序。
说明
仅数据库版本在 V4.0.0 及以上并开启全链路追踪功能时,才支持查看调用链路。

在 操作 列中单击 查看调用链路,可查看相应 SQL 的链路详情。开启全链路追踪操作,请参见 租户全链路追踪配置。

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

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