欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
操作步骤
- 在左导航栏单击 租户 ,并在 租户列表 中单击具体的租户进入租户 概览 页面。
- 在左侧导航栏单击 SQL 诊断 ,进入 SQL 诊断 页面。
- 单击 可疑 SQL 页签。
- 对可疑 SQL 进行筛选。
- 配置筛选条件。
- 单击 查询 ,下方列表中将展示所有符合查询条件的 SQL。
- 单击 导出可疑 SQL 按钮,将导出列表中展示的所有可疑 SQL。
- 查看可疑 SQL 信息。
单击 SQL 文本下内容,您可进入具体 SQL 页面。在 SQL 详情 页中,您可查看该 SQL 的详细信息,包括:
- 在 SQL 文本 处查看 SQL 的完整语句。
- 在 优化建议 处查看对于该 SQL 的优化建议,详见 查看优化建议。
- 查看诊断详情:您可查看特定时间内的诊断结果。
诊断类型及处理方法等信息如下:
诊断类型 | 对应参数 | 索引分析情况 | SQL 风险等级 | 说明及处理建议 |
|---|---|---|---|---|
执行计划变动且性能下降 | ocp.perf.sql-diag.performance-degradation-after-plan-changed-config | 无 | 高 | 该 SQL 的执行计划有变化,且变化后性能下降。 需 DBA 确认,可使用 outline 进行执行计划固化,以判断是否为异常 SQL。 |
全表扫描且无可用索引 | ocp.perf.sql-diag.table-scan-index-not-exists-config | 分析索引 | 高 | 该 SQL 执行涉及的部分表因无可用索引而进行了全表扫描。 建议创建合适的索引。 |
全表扫描但有索引未执行 | ocp.perf.sql-diag.table-scan-index-not-exists-config | 分析索引 | 高 | 该 SQL 执行涉及的表都有索引,但有些表未走索引而直接进行了全表扫描。 需确认数据分布与业务场景。 |
Hint 未生效 | ocp.perf.sql-diag.ineffective-hint-config | 分析索引 | 高 | 该 SQL 语句的 Hint 里指定了索引,但执行时没走指定的索引。 需确认 SQL 的 Hint 与实际执行计划是否一致。 |
性能比以前下降 | ocp.perf.sql-diag.performance-degradation-config | 无 | 中 | 该 SQL 在诊断时间内,平均 CPU 占用时间比历史均值高。 需确认数据分布变化和租户整体队列等待情况等信息。 |
走索引但性能较低 | ocp.perf.sql-diag.awful-performance-index-used-config | 分析索引 | 中 | 该SQL 执行通过索引访问相关表,但仍性能较低。 需确认数据分布与业务场景。 |
执行次数突刺 | ocp.perf.sql-diag.execution-spike-config | 无 | 中 | 该 SQL 执行次数在某一时间段内突然飙高。可在 SQL 详情 的 历史趋势 中查看执行次数。 需确认业务量,可能导致整体性能下降。 |
热点行锁 | ocp.perf.sql-diag.row-lock-contention-high-config | 无 | 中 | 需确认业务场景,select for update 类型的语句执行频率超过设定值,且 CPU 时间大于设定值。 |
CPU 整体占比超过百分比 | ocp.perf.sql-diag.cpu-time-proportion-high-config | 无 | 低 | 诊断时段内,CPU 时间整体占比(该 SQL 执行占用 CPU 时间 / 该租户内所有 SQL 执行占用 CPU 时间 * 100%)过高。 请确认业务场景、数据分布变化、请求量突涨、执行计划变化等情况。 |
OCP 诊断时默认对 SQL 的响应时间和执行频率等属性进行了一定的限制,在 OCP 的 系统参数 中搜索并修改参数默认值,来自定义诊断对象及判定标准。
- 设置限流。
- 单击 设置限流 ,您可对 SQL 进行限流。
- 选择多个 SQL ,单击 批量设置限流 ,在弹窗框中输入并发数,可对相关 SQL 进行相同并发数限流设置。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




