关于TABLE SKIP SCAN,以下说法正确的是:

关于TABLE SKIP SCAN,以下说法正确的是:

A. TABLE SKIP SCAN用于无法匹配索引前缀列的查询,当索引前缀列的NDV值足够大时,使用TABLE SKIP SCAN可以获得较好的查询性能

B. TABLE SKIP SCAN与并行执行时互斥的,也即使用TABLE SKIP SCAN时无法开启并行查询

C. TABLE SKIP SCAN的本质是以跳跃的方式扫描索引,通过有限次的跳跃完成对索引的扫描

D. TABLE SKIP SCAN可以通过预运算的结果,避免对表和索引的访问

1 个赞

选择C
C 正确
索引跳跃扫描核心原理:跳过前缀索引列、跳跃遍历索引,前缀列值少→有限次数跳跃,直接匹配后列过滤条件,不走全索引扫描。

其余选项错误
A 错误
Skip Scan 生效条件:索引前置列 NDV(唯一值数量)要小(比如只有男 / 女 2 个值),NDV 太大时跳跃扫描成本极高、不会走 Skip Scan。
B 错误
Skip Scan可以配合并行查询,二者不互斥,Oracle 支持并行索引跳跃扫描。
D 错误
Skip Scan 本质依旧是访问索引,只是跳过无用前缀分区,无法避免索引访问,更不能跳过表访问。