oracle CBO下使用更具选择性的索引

前端之家收集整理的这篇文章主要介绍了oracle CBO下使用更具选择性的索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

基于成本的优化器(CBO,Cost-Based Optimizer)对索引的选择性进行判断来决定索引的使用是否能提高效率.

如果索引有很高的选择性,那就是说对于每个不重复的索引键值,只对应数量很少的记录.

比如,表中共有100条记录而其中有80个不重复的索引键值. 这个索引的选择性就是80/100 = 0.8 . 选择性越高,通过索引键值检索出的记录就越少.

如果索引的选择性很低,检索数据就需要大量的索引范围查询操作和ROWID 访问表的

操作. 也许会比全表扫描的效率更低.

 

下列经验请参阅:

a.       如果检索数据量超过30%的表中记录数.使用索引将没有显著的效率提高.

b.       在特定情况下,使用索引也许会比全表扫描慢,但这是同一个数量级上的

区别. 而通常情况下,使用索引比全表扫描要块几倍乃至几千倍!

猜你在找的Oracle相关文章