基于成本的优化器(CBO,Cost-Based Optimizer)对索引的选择性进行判断来决定索引的使用是否能提高效率.
如果索引有很高的选择性,那就是说对于每个不重复的索引键值,只对应数量很少的记录.
比如,表中共有100条记录而其中有80个不重复的索引键值. 这个索引的选择性就是80/100 = 0.8 . 选择性越高,通过索引键值检索出的记录就越少.
如果索引的选择性很低,检索数据就需要大量的索引范围查询 *** 作和ROWID 访问表的
*** 作. 也许会比全表扫描的效率更低.
下列经验请参阅:
a. 如果检索数据量超过30%的表中记录数.使用索引将没有显著的效率提高.
b. 在特定情况下,使用索引也许会比全表扫描慢,但这是同一个数量级上的
区别. 而通常情况下,使用索引比全表扫描要块几倍乃至几千倍!
总结以上是内存溢出为你收集整理的oracle CBO下使用更具选择性的索引全部内容,希望文章能够帮你解决oracle CBO下使用更具选择性的索引所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)