1.。
Access驱动,一般是两个字段的对比,filter是固定的值,而且是一次扫描多块再filter
• Access 谓词多用亍使用索引访问的场景。 所谓Access即是丌遍历全量的数据,而利用对应的查询条件 戒者约束来驱劢访问索引。
• 过滤 谓词多用亍无法使用索引访问的场景, 例如步骤3 是在对整张表全表扫描的过程中,对亍每一条记 录做识别 看是否符合过滤相关的条件; 但是主要filter过滤并丌会真的是 物理读一个块然后就对里面的 记录做过滤,仍会一次物理读取多个块,之后逡辑读这些块并做逡辑过滤。 Filter 一般没有驱动作用。
2.
错误的执行顺序看法! 国内对亍执行计划执行顺序有一种错误的说法: 最右最上最先执行的原则
这个原则大体没有问题的 最右就是最缩进的,这个最好看出来,他基本最早执行的,但前提是和他同一竖排时上面的那个先执行。 顺序0 1 3 2,而不是3 2 1 0 ,3210这样好理解的
同在一个层次, 或者说缩进的最右最上最先执行,但号小的又要在这个前提之上先执行!!
通过上述验证 我们可以知道 最右最上最先执行的说法是错误的! Top RightMost不是指 最右最上,这个错误的观念可能来源于对文档的误读 最上最右才对 ^_^
Hash 0
table 1
table 2
index 3
根据cost值,也可以知道执行计划的顺序,因为cost值是一步步加上去的。