在查看 SQL 的基本信息后,您可以通过单击 SQL 文本跳转到 SQL 详情页。根据不同的 SQL 诊断情况,SQL 详情页选择性地展示对应的 SQL 文本、优化建议、采样明细、诊断详情、采样历史、执行历史和执行计划等信息。

SQL 文本

SQL 文本 区域,可以查看完整的 SQL 文本。通过勾选 表结构,您可以查看对应表的结构信息。

image

优化建议

说明

没有优化建议时,该卡片不显示。

优化建议 区域,可以查看诊断时间范围内该 SQL 的所有问题及对应的优化建议。目前,系统提供两种优化建议:

  • 计划推荐

    分析最近 1 周内的 SQL 执行计划,如果发现某个计划在 CPU 时间上明显优于其他同类型的执行计划(无论是本地计划还是分布式计划),系统将推荐您关注此计划。当有计划推荐时,建议您详细分析该计划与现有执行计划的差异,并确认不涉及 DDL 变更,再考虑进行绑定。绑定后,请密切观测优化效果。如果没有优化效果,请及时回滚操作。

    计划推荐的具体规则如下:

    计划推荐根据最新执行计划的 CPU 时间进行分档评估。当最新执行计划 CPU 时间较小时,只有那些性能明显优于最新计划的候选计划才会被推荐。而当最新执行计划的 CPU 时间较大时,候选计划只需稍微优于最新计划即可被推荐。

    最新计划 CPU 时间

    候选计划 CPU 时间

    [0-1) ms

    候选计划为最新计划 CPU 时间的 1/10

    [1-10) ms

    候选计划为最新计划 CPU 时间的 1/5

    [10-100) ms

    候选计划为最新计划 CPU 时间的 1/2

    [100-1000) ms

    候选计划为最新计划 CPU 时间的 2/3

    [1000- 无穷大) ms

    候选计划为最新计划 CPU 时间的 5/6

  • 索引推荐

    索引推荐的具体规则如下:

    • 等值查询列在前,以任意顺序组合。

    • 如果有范围查询,将选择性最好的范围查询列置于等值查询列之后。

    • 如果没有范围查询,当满足消除排序条件时,将排序列置于等值查询列之后。

    • 将谓词中其他列置于索引之后,形成半宽索引。

    • 将 Select 中其他列置于索引之后,构造覆盖索引。

    • 当覆盖索引不超过 8 列时,推荐使用覆盖索引,否则推荐半宽索引。

    • 只有当 CPU 时间超过 10ms 或响应时间超过 20ms 时才会进行索引推荐。

优化建议..png

SQL 诊断详情

说明

没有诊断详情时,该卡片不显示。

SQL 诊断详情 区域,您可以查看诊断时间范围内出现同类型问题的次数以及最近一次诊断详情,包括时间范围、执行次数、CPU 时间和最后执行时间。单击三角箭头,可以进一步查看诊断依据和问题排查建议等。1

SQL 采样明细

说明

仅 SlowSQL 详情页显示 SQL 采样明细信息,其他类型的 SQL 详情页不显示。

SQL 采样明细 区域,您可以查看当前 SQL 的具体采样信息。单击 列管理,可以设置需要展示的列并调整列的先后顺序。单击 导出,可以下载 SQL 采样明细列表。

image

聚合 SQL 明细

说明

仅查看聚合 SQL 详情页时,会显示聚合 SQL 明细。

聚合 SQL 明细 区域,您可以查看所有相关的 SQL 信息。单击 列管理,可以设置需要展示的列并调整列的先后顺序。单击 +,可以查看最后一次报错和统计时段内报错汇总信息。

image

物理执行计划

物理执行计划 页签,非聚合 SQL 和聚合 SQL 的展示会有所区别。

非聚合 SQL 物理执行计划
  • 展开 Plan Hash,查看对应的物理执行计划详情。

    在执行计划详情页面中:

    • 查看执行步骤中算子的具体应用过程和 Server 执行计划。算子的基础介绍,请参见 SQL 执行计划简介

    • 将光标悬停在执行计划的对象名称上,可以查看表结构或 DDL 索引信息等。

      • 如果对象名称是表,可以查看表结构。image

      • 如果对象名称是索引,可以查看 DDL 索引信息等。

  • 单击右上角 自定义,从下拉列表中选择 近 1 小时近 12 小时 快速筛选查询时间段。您也可以自定义查询时间段,当前仅支持查询最近 15 天的物理执行计划。

  • 单击 近 30 天绑定历史记录,查看最近 30 天物理执行计划的绑定记录。

  • 单击 刷新 plan cache,确认后会清除租户下该 SQL 的执行计划缓存。下次执行该 SQL 时,系统将会重新生成执行计划。

  • 单击 绑定,确认后会强制 SQL 按该执行计划执行。如果执行计划处于绑定状态,则会显示 已绑定image

聚合 SQL 物理执行计划
说明

SQL 聚合用于将指定范围内的相似 SQL 语句进行汇总。不同时间范围内包含的 SQL 列表可能会有所不同。因此,当前无法显示执行计划的绑定信息。请访问优化中心以查看具体的 Outline 生效情况及操作历史。

  • 展开 Plan Hash,查看对应的物理执行计划详情和聚合 SQL 明细。

    • 执行计划详情 页签:

      • 查看执行步骤中算子的具体应用过程和 Server 执行计划。算子的基础介绍,请参见 SQL 执行计划简介

      • 将光标悬停在执行计划的对象名称上,可以查看表结构或 DDL 索引信息等。

      • 如果对象名称是表,可以查看表结构。image

      • 如果对象名称是索引,可以查看 DDL 索引信息等。

    • 聚合 SQL 明细 页签,查看聚合 SQL 列表,包含 SQL 文本SQL IDimage

  • 单击右上角 自定义,从下拉列表中选择 近 1 小时近 12 小时 快速筛选查询时间段。您也可以自定义查询时间段,当前仅支持查询最近 15 天的物理执行计划。

  • 单击 绑定,确认后会强制 SQL 按该执行计划执行。如果执行计划处于绑定状态,则会显示 已绑定

SQL 执行历史

SQL 执行历史 页签,非聚合 SQL 和聚合 SQL 的展示会有所区别。

非聚合 SQL 执行历史

您可以查看近 1 小时、近 12 小时或自定义时间范围内的 SQL 执行历史以及 SQL 相关的图表。

  • SQL 执行历史:可以查看当前 SQL 语句的执行历史记录。

    • 单击 全部节点,从下拉列表中选择您想要查看的节点。

    • 单击 自定义时间,从下拉列表中选择 近 1 小时近 12 小时。您也可以自定义时间,但是需要注意以下限制:

      • 仅支持查看最近 15 天的 SQL 执行历史。

      • 最小范围限定:

        • 3 天内:选择的时间范围不少于 1 分钟。

        • 3 至 7 天内:选择的时间范围不少于 5 分钟。

        • 超过 7 天:选择的时间范围不少于 20 分钟。

    • 单击右上方的 列管理,可以勾选需要高频查看的信息。

    • 单击 导出,可以下载 SQL 执行历史列表。

      image

  • SQL 执行耗时:您可通过单击右侧的类别,选择查看对应的执行耗时情况。

    image

  • 总执行次数:单击 总执行次数,从下拉列表中选择您想要查看的数据。

    image

聚合 SQL 执行历史

您可以查看近 1 小时、近 12 小时或自定义时间范围内的 SQL 执行历史以及 SQL 相关的图表。

  • SQL 执行历史:可以查看当前 SQL 语句的执行历史记录。单击右上方的 列管理,可以勾选需要高频查看的信息。单击 导出,可以下载 SQL 执行历史列表。

  • 聚合 SQL 的图表数据,可以通过聚合 SQL 维度或者单一 SQL 维度分别查看。

    • 聚合 SQL 维度统计了关联 SQL 的整体数据。

      SQL 执行耗时:您可以从下拉列表中选择 总数据库耗时平均耗时响应时间 等选项进行查看。

      image

      总执行次数:单击 总执行次数,从下拉列表中选择您想要查看的数据。

      image

    • 单一 SQL 维度默认展示 CPU 占比前 10 的 SQL 数据,可以通过提示筛选更多 SQL。

      SQL 执行耗时:您可以从下拉列表中选择 总数据库耗时平均耗时响应时间 等选项进行查看。此外,可以通过单击 SQL ID 查看指定 SQL 的信息。

      image

      总执行次数:单击 总执行次数,从下拉列表中选择您想要查看的数据。此外,可以通过单击 SQL ID 查看指定 SQL 的信息。

      image

表信息

表信息 页签,您可以查看索引的相关信息并进行索引绑定等操作。如果索引处于已绑定状态,则会显示 已绑定。此外,您还可以查看表统计信息。

image

高级设置

限流设置
  1. 限流设置 区域,单击 设置限流

  2. 输入 最大并发数,并单击 确定

  3. 在弹出的对话框中,单击 确定image

Outline 设置
  1. Outline 设置 区域,单击 设置 Outline

  2. 输入 Outline,并单击 确定

  3. 在弹出的对话框中,单击 确定image