Oracle 复合索引设计原理——前缀性和可选性
Posted 王.小辉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 复合索引设计原理——前缀性和可选性相关的知识,希望对你有一定的参考价值。
前缀性:
复合索引的前缀性是指只有当复合索引的第一个字段出现在SQL语句的谓词条件中时,该索引才会被用到。
如复合索引为(ename,job,mgr),只要谓词条件中出现第一个字段ename,就可以用复合索引,否则不会用。
唯一的例外是skip scan index,就是如果Oracle发现第一个字段的值很少,会自动拆分为两个复合索引。如复合索引(gender,ename,job,mgr),因为第一个字段gender只有两个值:男和女,因此Oracle会将这个索引拆分成(‘男‘,ename,job,mgr)和(‘女‘,ename,job,mgr)两个复合索引,这样即使gender没有出现在谓词条件中,也可以用该复合索引。
可选性:
Oracle建议复合索引应按字段可选性(即值的多少)的高低进行排列,这是因为,字段值越多,可选性越强,定位的记录就越少,查询效率就越高。
以上是关于Oracle 复合索引设计原理——前缀性和可选性的主要内容,如果未能解决你的问题,请参考以下文章