Oracle什么时候会使用跳跃式索引扫描
这是9i的一个新特性跳跃式索引扫描(Index Skip Scan).
例如表有索引index(a,b,c),当查询条件为
where b=?的时候,可能会使用到索引index(a,b,c)
如,执行计划中出现如下计划:
INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE)
Oracle的优化器(这里指的是CBO)能对查询应用Index Skip Scans至少要有几个条件:
1 优化器认为是合适的。
2 索引中的前导列的唯一值的数量能满足一定的条件(如重复值很多)。
3 优化器要知道前导列的值分布(通过分析/统计表得到)。
4 合适的SQL语句
等。