文档

SQL 诊断概述

更新时间:

诊断页面的 SQL 页签为您提供 TopSQL、SlowSQL、可疑 SQL的分析诊断功能。

SQL 诊断

在诊断页面 SQL 页签下可分别查看 TopSQL、SlowSQL 和可疑 SQL 的基本信息。

SQL 诊断类型的概念如下:

  • TopSQL:总响应时间倒序排序的 SQL 语句。

  • SlowSQL:执行超过一定时间的 SQL 语句。

  • 可疑 SQL:根据诊断类型结合 SQL 的语句、执行历史、表结构进行诊断,当 SQL 语句符合诊断特征时,筛选出的 SQL 语句。

通过单击列表中的 SQL 文本可进入 SQL 详情页,可查看 SQL 文本,SQL 执行历史、物理执行计划等内容。详细说明,请参见 查看 SQL 详情

TopSQL

TopSQL 是指总响应时间倒序排序的 SQL 语句。

说明

TopSQL 功能除了支持对选定租户进行实时诊断,还支持对集群内所有租户的 TopSQL 进行实时诊断。当发现某台主机 CPU 负载过高时,可以使用该功能,对主机上的 SQL 进行排序,从而找到最值得优化的 SQL。另外,该场景下,暂不支持数据库过滤。

image.png

  • TopSQL 分析还提供了一些常用的快捷筛选,例如 全表扫描多分区扫描远程执行多 等。

  • TopSQL 支持通过点击展开查看最后一次错误以及所有发生过的错误信息。

    image.png

  • 单击列表右上方的 查看优化建议,将会跳转到优化中心页面,查看优化相关建议。

  • 单击列表右上方的 TopSQL对比,可以对比相同 SQL 在同一个主机节点的不同时段或在不同主机节点上的运行状态及表现。

    • 不同时段对比:将同一个主机节点上的相同 SQL 在基准时段和对比时段的运行情况进行对比。基准时段和对比时段均可自定义,选择需要对比的分析节点,单击 对比分析 可查看 SQL 在同一个主机节点的不同时段运行的 明细数据对比性能趋势对比 信息。SQL执行对比-时段

    • 不同节点对比:以基础节点上运行的 SQL 为基准对比相同 SQL 在其他节点上的运行情况。其中对比节点可以选择多个,如果多选,系统会取这些节点上运行的 SQL 交集的平均数据与基准节点上的相同 SQL 进行对比分析。选择或自定义一个分析时段后,单击 对比分析 可查看相同 SQL 在不同节点上运行的 明细数据对比响应时间趋势对比 信息。不同节点对比

      说明
      • 相同 SQL 是指相同的数据库和 SQL ID。

      • 机器之间执行对比,输出的是这些主机上相同 SQL 的明细和响应时间趋势。如果基准节点与对比节点上没有执行相同的 SQL,则不会输出结果。

SlowSQL

SlowSQL 是指执行超过一定时间的 SQL 语句。您可以通过 全表扫描多分区扫描远程执行多 等按钮进行快捷筛选。

11

可疑 SQL

可疑 SQL 是指平台根据规则、算法筛选出的将会带来性能问题的 SQL,常见的可疑 SQL 诊断结果及处理建议如下。

诊断结果

处理建议

Hint 未生效

异常 SQL,需要 DBA 确认是否使用 OUTLINE 进行执行计划固化。

全表扫描有索引没走

请确认数据分布并联系 DBA 分析。

无可用索引而进行了全表扫描

建议创建合适的索引。

走索引但性能比较低

请确认业务场景是否可以接受此性能,若不可接受请改进业务逻辑或优化索引。

性能比以前下降

请确认数据分布变化、请求量突涨、执行计划变化等情况。

执行计划变动且性能下降

需 DBA 确认,可使用 OUTLINE 进行执行计划固化,以判断是否为异常 SQL。

执行次数突刺

需确认业务量,可能导致整体性能下降。

CPU 负载过高

请确认业务场景、数据分布变化、请求量突涨、执行计划变化等情况。

热点行锁

热点行锁争用,建议排查热点账号。

DML 访问过多分区数

请改写 SQL,保证 SQL 能进行分区裁剪。

可疑 SQL 页签展示了 SQL 文本数据库诊断结果 等信息。

image.png

  • 本页导读 (0)
文档反馈