SQL 详情页会根据不同的 SQL 诊断情况,选择性展示对应 SQL 的文本、优化建议、采样明细、诊断详情、采样历史、执行历史和执行计划等信息。
SQL 详情
在 SQL 诊断中查看 SQL 的基本信息后,可以通过点击 SQL 跳转到 SQL 详情页面。根据不同的 SQL 情况,展示对应 SQL 的文本、优化建议、采样明细、诊断详情、采样历史、执行历史和执行计划等信息。
SQL 文本
在 SQL 文本区域,可以查看完整的 SQL 文本。此外,通过勾选 表结构,您可以查看对应表的结构信息。
优化建议
没有优化建议时,该卡片不显示。
在 优化建议 区域,可以查看诊断时间范围内该 SQL 的所有问题及对应的优化建议。您可以按照系统给出的优化建议进行相关操作。目前存在两种优化建议:
计划推荐: 分析该 SQL 最近 1 周的执行计划,当发现某个执行计划在 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- 无穷大)
候选计划为最新计划 CPU 时间的 5/6
索引推荐,会根据以下算法进行:
等值查询列在前,以任意顺序组合。
如有范围查询,将选择性最好的范围查询列放在等值查询列后。
如果没有范围查询,当满足消除排序条件时,将排序列放在等值查询后。
将谓词中其他列放在索引后面,此时已是半宽索引。
将 Select 中其他列放在索引后面,构造覆盖索引。
当覆盖索引不超过 8 列时,会推荐覆盖索引,否则会推荐半宽索引。
当 CPU 时间超过 10ms 或响应时间超过 20ms 时才会进行索引推荐。
SQL 采样明细
仅 SlowSQL 详情页显示 SQL 采样明细信息,其他类型的 SQL 详情页不显示。
在 SQL 采样明细中,您可查看当前 SQL 的具体采样信息。单击 列管理,可设置需要展示的列并调整列的先后顺序。单击 导出 可下载 SQL 采样明细列表。
聚合 SQL 明细
仅查看聚合 SQL 详情页时,会显示聚合 SQL 明细。
在聚合 SQL 明细中,您可查看相关的所有 SQL,默认展示 SQL 文本、数据库、SQLID 等列,以及展开后的错误信息。
SQL 诊断详情
没有诊断详情时,该卡片不显示。
在 SQL 诊断详情 区域,您可查看诊断时间范围内总共出现过几次同样的问题,还可查看当前 SQL 语句的请求时间范围、执行次数、CPU 时间和最后执行时间,以及对当前 SQL 语句的诊断依据和排查建议。
物理执行计划
在物理执行计划页签,您可以查看执行计划列表并进行绑定执行计划、淘汰执行计划等操作。
单击 Plan Hash 文本,可以查看对应的物理执行计划详情。
在执行计划详情页面中,查看执行步骤中算子的具体应用过程。算子的基础介绍,请参见 SQL 执行计划简介。
单击自定义时间,可下拉选择 近 1 小时、近 12 小时、近 1 天 进行时间点的快速筛选,也可以自定义时间进行查看。
单击 近 30 天绑定历史记录 可查看绑定历史记录。
单击 刷新 plan cache,确认后会清除租户下该 SQL 的执行计划缓存,下次执行这个SQL的时候会重新生成执行计划。
单击 绑定,确认后会强制 SQL 按该执行计划进行执行。如果执行计划处于绑定状态,则会显示 已绑定。
SQL 执行历史
在 SQL 执行历史页签,非聚合 SQL 和聚合 SQL 的展示会有所区别。
非聚合 SQL 执行历史
您可查看近 1 小时、近 12 小时、近 1 天或自定义时间范围内的 SQL 执行历史以及 SQL 相关的图表。
SQL 执行历史:可查看当前 SQL 语句的历史执行信息。
单击 全部节点,可选择指定节点进行查看。
根据右上角时间,可选择 近 1 小时,近 12 小时,近 1 天,或者 自定义时间 进行查看。
单击右上方的 列管理,可勾选需要高频查看的信息。
单击 导出 可下载 SQL 执行历史列表。
SQL 执行耗时:您可通过单击右侧类别选择您要查看的执行耗时情况。
执行次数:单击 执行次数 后的下拉列表,选择您想要查看的数据。
聚合 SQL 执行历史
您可查看近 1 小时、近 12 小时、近 1 天或自定义时间范围内的 SQL 执行历史以及 SQL 相关的图表。
SQL 执行历史:可查看当前 SQL 语句的历史执行信息,单击右上方的 列管理,可勾选需要高频查看的信息,单击 导出 可下载 SQL 执行历史列表。
聚合 SQL 的图表数据,可通过聚合 SQL 维度或者单一 SQL 维度分别查看,默认展示聚合 SQL 维度 SQL 执行耗时-CPU 时间 和 总执行次数 图表。
聚合 SQL 维度统计了关联 SQL 的整体数据。
SQL 执行耗时:您可通过下拉选择 总数据库耗时、数据库耗时、响应时间 等选项进行查看。
总执行次数:单击 总执行次数 后的下拉列表,选择您想要查看的数据。
单一 SQL 维度默认展示 CPU 占比前 10 的 SQL 数据,可通过下拉选择更多 SQL。
SQL 执行耗时:您可通过下拉选择 总数据库耗时、数据库耗时、响应时间 等选项进行查看。同时可以通过 SQL ID 进行筛选查看指定 SQL 的信息。
总执行次数:单击 总执行次数 后的下拉列表,选择您想要查看的数据。同时可以通过 SQL ID 进行筛选查看指定 SQL 的信息。
总执行次数也可以下拉选择 每秒执行次数、总响应时间、响应时间 等选项进行查看。
表信息
在表信息页签,您可以查看索引的相关信息并进行索引绑定等操作。如果索引处于已绑定状态,则会显示 已绑定。此外,您还可以查看表统计信息。
高级设置
在高级设置页签,您可以进行如下操作:
打开 限流 开关。
设置单个 OBServer 执行指定 SQL 的并发个数。绑定索引和限定并发数不能同时生效。
单击 更新设置,您的设置将会实时生效。
- 本页导读 (0)