【摘抄】
局部范围扫描的应用原则
局部范围扫描的条件
通常在SQL中使用了ORDER BY 将无法实现局部范围扫描,但如果优化器选择的驱动索引列与ORDER BY排序列相同,则可以按照局部范围扫描的方式进行处理。
从执行计划来看,在执行计划中出现了SORT时才真正地无法实现局部范围扫描。
使用UNION,MINUS,INTERSECT的集合运算的SQL无法局部范围扫描。
UNION ALL则可能实现局部范围扫描
INTERSECT交集运算,无法实现局部范围扫描
Minus差集运算,可以使用EXists或in构建的子查询与主查询之间应当使用半连接,来尝试局部范围扫描。但不一定有效。
不同优化器模式下的局部范围扫描
在RBO或CBO的FIRST_ROWS模式下,基本按照局部范围扫描
在CBO的ALL_ROWS模式下,基本按照全部范围扫描