HACK
(DBS)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
explain输出的执行计划树形结构,怎么看顺序呢?
【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
【附件】
如上图:
是不是同一级别的算子,看序号大小,先执行15,再执行16,最后将结果返回给父节点IndexLookUP_17的算子。
不知道理解的是否正确。
-
TiUP Cluster Display 信息
-
TiUP Cluster Edit Config 信息
-
TiDB- Overview 监控
1 个赞
Kongdom
(Kongdom)
2
我觉得你理解的是对的,先执行15,再执行16,然后父节点17。
参考一下这里
Build 总是先于 Probe 执行,并且 Build 总是出现在 Probe 前面。即如果一个算子有多个子节点,子节点 ID 后面有 Build 关键字的算子总是先于有 Probe 关键字的算子执行。TiDB 在展现执行计划的时候,Build 端总是第一个出现,接着才是 Probe 端。
https://docs.pingcap.com/zh/tidb/stable/explain-overview#算子的执行顺序
1 个赞
HACK
(DBS)
3
我正在读这个文章。但是感觉说的还是不够详细,例如ID表示什么,有什么意义。
1 个赞
Kongdom
(Kongdom)
4
HACK
(DBS)
5
刚才说错了,是算子名称后面的那个数字,比如IndexRangeScan_15中的15表示什么,是顺序号吗,还是有别的含义。
HACK
(DBS)
7
那在树形结构里面,同一层级的各个算子,是不是后面的数字越小,表示先执行?
Kongdom
(Kongdom)
8
根据这一段描述来看,那个数值就不完全是顺序号,因为是可以并行的。
算子的结构是树状的,但在查询执行过程中,并不严格要求子节点任务在父节点之前完成。TiDB 支持同一查询内的并行处理,即子节点“流入”父节点。父节点、子节点和同级节点可能并行执行查询的一部分。
Kongdom
(Kongdom)
9
以下是来自 @数据小黑 的官方302课程口诀:从右向左,自上而下
2 个赞
system
(system)
关闭
12
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。