title | summary | aliases | ||
---|---|---|---|---|
TiDB Dashboard SQL 语句分析执行详情页面 |
查看单个 SQL 语句执行的详细情况 |
|
在列表中点击任意一行可以进入该 SQL 语句的详情页查看更详细的信息,此信息包括三大部分:
- SQL 语句概况:包括 SQL 模板、SQL 模板 ID、当前查看的时间范围、执行计划个数、执行所在的数据库以及快速绑定执行计划功能(下图区域 1)
- 执行计划列表:如果一个 SQL 语句有多个执行计划,则显示执行计划列表。除了文本信息显示,TiDB 自 v6.2.0 开始引入图形化执行计划,通过图形化的执行计划,你可以更清晰地了解一个语句的具体算子和对应的内容。可以选择不同的执行计划,在列表和图形下方会显示该执行计划详情(下图区域 2)
- 执行计划详情:显示选中的执行计划的详细信息,具体见下一小节(下图区域 3)
自 v6.6.0 起,TiDB 引入了快速绑定执行计划的功能。你可以在 TiDB Dashboard 中,快速完成 SQL 语句与特定计划的绑定。
目前还不支持通过 TiDB Dashboard 绑定下列语句的执行计划:
- 非
SELECT
、DELETE
、UPDATE
、INSERT
、REPLACE
类型语句 - 带有子查询的查询
- 访问 TiFlash 的查询
- 对三张表或更多表进行 Join 的查询
目前该功能需用户拥有 SUPER
权限才可使用。如果在使用过程中提示权限不足,请参考 TiDB Dashboard 用户管理补充所需权限。
执行计划详情包括以下内容:
- SQL 样本:该计划对应的实际执行的某一条 SQL 语句文本。时间范围内任何出现过的 SQL 都可能作为 SQL 样本。
- 执行计划:执行计划的完整内容,有表格、图形和文本三种展示形式。参阅理解 TiDB 执行计划文档了解如何解读执行计划。如果选择了多个执行计划,则显示的是其中任意一个。
- 其他关于该 SQL 的基本信息、执行时间、Coprocessor 读取、事务、慢查询等信息,可点击相应标签页标题切换。
点击展开 (Expand) 可以展开相应项的完整内容,点击复制 (Copy) 可以复制内容到剪贴板。
TiDB Dashboard 提供三种方式查看执行计划:表格、文本和图形。关于如何解读执行计划,请参考理解 TiDB 执行计划。
表格形态的执行计划提供详细的执行计划信息,便于你快速识别算子指标的异常情况,以及对比不同算子的状态。下图是一个表格形态的执行计划示例:
表格形态展示的内容与文本形态类似,但具有更易用的交互:
- 支持自由调整列宽
- 当内容超出列宽时,支持自动截断并提供悬浮窗展示完整信息
- 如果执行计划内容较多,可以下载 txt 格式到本地分析
- 允许隐藏任意列,并且能够在列选择中进行管理
图形形态的执行计划更适合宏观地查看一个复杂 SQL 的执行计划树,并且详细了解每个算子及对应的内容。下图是一个图形形态的执行计划示例:
- 执行计划的展示顺序是从左到右,从上到下。
- 上面的节点是父算子,下面的节点是子算子。
- 节点顶栏的颜色代表算子执行的组件:黄色代表 TiDB,蓝色代表 TiKV,粉色代表 TiFlash。
- 节点的顶栏为算子的名称,正文为算子的基本信息。
点击节点区域,右侧将弹出算子的详细信息。
其他关于该 SQL 的基本信息、执行时间、Coprocessor 读取、事务、慢查询等信息,可点击相应标签页标题切换。
包含关于表名、索引名、执行次数、累计耗时等信息。描述 (Description) 列对各个字段进行了具体描述。
显示执行计划执行的各阶段所耗费时间。
注意:
由于单个 SQL 语句内部可能有并行执行的操作,因此各阶段累加时间可能超出该 SQL 语句的实际执行时间。
显示 Coprocessor 读取的相关信息。
显示执行计划与事务相关的信息,比如平均写入 key 个数,最大写入 key 个数等。
如果该执行计划执行过慢,则在慢查询标签页下可以看到其关联的慢查询记录。
该区域显示的内容结构与慢查询页面一致,详见慢查询页面。