执行计划算子

在查看执行计划的时候有点不是很明白的地方


1.Projection_63 这个算子代表什么意思?


这一部分的解读流程是不是 1.先执行 IndexRangeScan_52,2.在执行Selection_54(Build),3.执行TableRowIDScan_53 4.执行Selection_55(Probe) 5. 第一步和第三部的结果汇合?

https://docs.pingcap.com/zh/tidb/stable/explain-overview#算子的执行顺序

参考下

官方302课程口诀:从右向左,自上而下

1 Like

看了这个口诀 但是还是有点不太会用,按照理解的话 是 52 —>54 然后执行 53—>55 但是看序号的话 又不太符合···············

按照理解的话 是 52 —>54 然后执行 53—>55 但是看序号的话 又不太符合···············

应该你的理解是正确的,只是序号的问题而已

从右向左,自上而下
从上往下看,56最右,没有同级算子,那56开始执行,54 与55右缩进一样,先54,54算子内52靠右,52先执行,54的一级完事,那该55了,53靠右先53
ID 没什么规律,只要是唯一就行。不过在生成执行计划时,有一个计数器,生成一个计划 ID 后序号就加 1,执行的顺序和序号无关。整个执行计划是一颗树,执行时从根节点开始,不断地向上返回数据
SQL 操作常见问题 | PingCAP Docs

1 Like

好的 那理解了,谢谢

最上最右