首批通过分布式安全可靠测评,为关键业务系统打造
查看 SQL 详情
更新时间:2026-04-30 14:45:56
本节为您介绍如何通过 OCP 查看 SQL 详情,包括该 SQL 的运行情况、执行计划、绑定的索引以及是否限流。
您可通过如下两个入口查看 SQL 诊断详情:
入口一:登录 OCP,在左侧导航栏单击 自治服务,选择需要查看的集群,进入集群 实时诊断 页面。
入口二:登录 OCP,进入租户 概览 页面,在左侧导航栏单击 SQL 诊断。
功能适用性
社区版暂不支持自治服务,该功能需要通过 入口二 访问查看。
前提条件
当通过 入口一 查看 SQL 详情时,请确保当前登录 OCP 的用户具备如下权限:
- 集群只读 或 租户只读 资源权限。
- 自治服务 实时诊断 菜单权限。
当通过 入口二 查看 SQL 详情时,请确保当前登录 OCP 的用户具备如下权限:
- 集群只读 或 租户只读 资源权限。
- 租户 SQL 诊断 菜单权限。
仅 OceanBase V3.0 以上版本支持查看 SQL 执行画像。
对于 MySQL 模式的租户,需要 OCP 用户的密码箱里具有该租户的密码。
对于 Oracle 模式的租户,需要 OCP 用户的密码箱里具有该集群 SYS 租户的密码。
说明
当前登录 OCP 的租户有租户的 更新 权限,才可 绑定索引、绑定执行计划 和 设置限流。
进入 SQL 详情页
以下操作步骤以 入口一 为例。
在左导航栏单击 自治服务 ,并在 集群详情 中单击集群名进入集群 实时诊断 页面。
系统默认进入 SQL 诊断 页签。
在 可疑 SQL 、 TopSQL 、 SlowSQL 、 ParallelSQL 、高危 SQL 和 新增 SQL 页签中找到目标 SQL。
可通过设置查询条件,辅助定位目标 SQL。

单击目标 SQL 的 SQL 文本,进入目标 SQL 的详情页。

在 SQL 详情 页中,您可查看该 SQL 的详细信息,包括:
在 SQL 文本 处查看 SQL 的完整语句,OCP 会尽量对 SQL 文本进行脱敏再展示,但解析失败的场景下,会返回原 SQL,勾选显示表结构,会展示该表的建表语句。
在 优化建议 处查看对于该 SQL 的优化建议,详见 查看优化建议。
在 SQL 执行画像 处查看 SQL 执行详情,详见 查看 SQL 执行画像。
在 历史趋势 页签,查看该 SQL 运行的历史趋势,详见 查看 SQL 运行的历史趋势。
在 执行计划 页签,查看该 SQL 的执行计划,或为其绑定执行计划,详见 查看 SQL 的执行计划。
在 索引 页签,查看该 SQL 的绑定的索引,详见 查看和绑定索引。
在 SQL 限流 页签,查看该 SQL 的限流情况,或为其设置限流,详见 设置 SQL 限流。
在 执行计划 、 索引 、 SQL 限流 页签下,通过 查看近 30 天绑定记录 均可查看该 SQL 的绑定记录。
在绑定记录中您可查看到已绑定计划的状态,可通过 取消绑定 按钮将 SQL 与该计划解绑,也可通过 绑定计划 按钮将二者再次绑定。
查看优化建议
当 SQL 执行计划变化且性能下降时,系统会提供计划绑定建议。当 SQL 索引不优,且满足如下条件时,系统会提供索引优化建议:
- SQL 平均响应时间超过 20ms 或者平均 CPU 时间超过 10ms
- SQL 类型为:SELECT, SELECT_FOR_UPDATE, UPDATE, DELETE
- SQL 不包含困难谓词 "OR"
- SQL 不包含 JOIN
您可在 优化建议 中查看该 SQL 的诊断问题及建议解决方案,如索引推荐、历史计划推荐等,并可进行查看 Plan Hash、绑定执行计划和查看诊断详情操作。
索引推荐时,会根据以下算法进行:
等值查询列在前,以任意顺序组合。
如有范围查询,将选择性最好的范围查询列放在等值查询列后。
如果没有范围查询,当满足消除排序条件时,将排序列放在等值查询后。
将谓词中其他列放在索引后面,此时已是半宽索引。
将Select 中其他列放在索引后面,构造覆盖索引。
当覆盖索引不超过8列时,会推荐覆盖索引,否则会推荐半宽索引。
说明
暂不支持表联接场景。
配置参数如下:
ocp.perf.sql.index-advisor-cpu-time-threshold:索引推荐时,SQL 的平均 CPU 时间阈值,当 SQL 的平均 CPU 时间大于该值时,会进行索引推荐。ocp.perf.sql.index-advisor-elapsed-time-threshold:索引推荐时,SQL 的平均响应时间阈值,当 SQL 的平均响应时间大于该值时,会进行索引推荐。
历史计划推荐会分析 SQL 最近一周的执行计划,当某个计划的平均 CPU 时间低于同类型最新计划的平均 CPU 时间的 80% 时,会进行推荐。会优先推荐本地计划;若本地计划不存在,则会推荐分布式计划。
说明
仅可疑 SQL 支持查看诊断详情。
查看 Plan Hash
单击 查看 Plan Hash 按钮,可在弹出的面板中查看 Plan Hash 执行计划详情,包括基本信息、执行步骤和 Server 执行计划。

绑定执行计划
单击 绑定执行计划 按钮,在对话框中单击 绑定 ,绑定成功后刷新页面,单击 查看近 30 天绑定记录 ,可查看到该执行计划已被绑定。

查看诊断详情
单击 查看诊断详情 按钮,可查看该可疑 SQL 的诊断详情。
查看 SQL 执行画像
您可在 SQL 执行画像 处查看采集时间范围内算子级别的 SQL 执行详情,包括 TraceID、并行度、请求时间、响应耗时及操作。
说明
仅 ParalleSQL 支持查看 SQL 执行画像。
查看 Trace 详情
单击 TraceID,进入 Trace 详情 页面查看执行画像,包括Trace 基本信息、Schema 表、Schema 索引、OBServer 节点详情和算子执行详情。
单击页面右上角 下载执行画像报告 按钮,可将该 Trace 信息以 HTML 格式导出至本地。
单击 Trace ID 右侧的三角图标,可进行 Trace 切换。
在 Schema 表 页签,单击建表语句,可查看语句详情。
在 Schema 索引 页签,可对索引进行绑定和解绑操作。

下载执行画像报告
在 SQL 执行画像 列表处,单击 操作 栏的 下载执行画像报告 按钮,可将 Trace 信息以 HTML 格式导出至本地。

查看 SQL 运行的历史趋势
在 SQL 详情 页中单击 历史趋势 页签。
可查看到 SQL 运行趋势图 和 SQL 计划生成时间图。当修改图中的统计时间时, SQL 运行 和 SQL 计划生成时间 这两张统计图会同步按所选时间更新。
SQL 运行趋势
运行趋势图默认展示 平均响应时间 、 CPU 时间 、 执行时间 指标,您可通过 指标管理 选择展示更多指标。

SQL 计划生成时间
表示有新的计划生成,且纵坐标表示生成计划的耗时。

查看 SQL 的执行计划
在 SQL 详情 页中单击 执行计划 页签。在该页签中您可:
通过 自定义时间 设置查询范围及查询时间窗口。
单击 查看近 30 天绑定记录 查看过去 30 天该 SQL 的执行计划绑定记录。
单击 Plan Hash 字段查看该执行计划的详细执行信息,包括该执行计划的基本信息、执行步骤、在不同 OBServer 节点上的执行情况。
单击 绑定 按钮,将该执行计划与当前 SQL 绑定。

查看和绑定索引
在 SQL 详情 页中单击 索引 页签,在该页签中您可:

在列表中查看该 SQL 的索引绑定情况。
您可根据索引状态和类型对索引进行筛选;也可以单击 绑定 ,将该 SQL 与索引绑定。您可通过黑屏或连接 OceanBase 开发者中心(OceanBase Developer Center,ODC)创建索引。
单击 查看近 30 天绑定记录 查看该 SQL 最近 30 天的索引绑定记录。
在绑定记录中您可查看到已绑定索引的状态,可通过 取消绑定 按钮将 SQL 与该索引解绑,也可通过 绑定计划 按钮将二者再次绑定。

设置 SQL 限流
在 SQL 详情 页中单击 SQL 限流 页签,在该页签中您可:
查看当前 SQL 是否限流。
如图所示,该 SQL 未开启限流。

为当前 SQL 设置限流。

如图所示,打开限流开关配配置限流策略:
最大并发数:取值范围为 [0,+∞)。一般情况下,不建议将最大并发数设置为 0。
限流关键字:单击 设置 后,在弹出的 设置限流关键字 窗口中 ? 处,即如图中 ① 处所示的地方设置限流关键字。
说明
若不设置关键字,则对整个 SQL 限流。
若限流关键字设置失败,可在图示 ② 处查看原因。

单击 更新 ,随后单击 确定 。