码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 复合索引设计原理——前缀性和可选性

时间:2017-03-14 17:31:52      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:条件   can   gen   索引   多少   语句   效率   字段   自动   

前缀性:

复合索引的前缀性是指只有当复合索引的第一个字段出现在SQL语句的谓词条件中时,该索引才会被用到。
如复合索引为(ename,job,mgr),只要谓词条件中出现第一个字段ename,就可以用复合索引,否则不会用。
唯一的例外是skip scan index,就是如果Oracle发现第一个字段的值很少,会自动拆分为两个复合索引。如复合索引(gender,ename,job,mgr),因为第一个字段gender只有两个值:男和女,因此Oracle会将这个索引拆分成(‘男‘,ename,job,mgr)和(‘女‘,ename,job,mgr)两个复合索引,这样即使gender没有出现在谓词条件中,也可以用该复合索引。

可选性:

Oracle建议复合索引应按字段可选性(即值的多少)的高低进行排列,这是因为,字段值越多,可选性越强,定位的记录就越少,查询效率就越高。

Oracle 复合索引设计原理——前缀性和可选性

标签:条件   can   gen   索引   多少   语句   效率   字段   自动   

原文地址:http://www.cnblogs.com/wang-xiaohui/p/6549479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!