我是靠谱客的博主 爱听歌裙子,最近开发中收集的这篇文章主要介绍Oracle 一个字段既有联合索引,又有单独索引环境概述总结参考文章,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

环境

系统:  Linux AS3.0  + Oracle 9i RAC     
Dedicated Server
OLTP 系统

概述

      优化器采用的是RULE ,  现有一个表tab1,  有字段 a  ,  b ,  c ,  d ,  e . 都是varchar2 类型 , 建立index 有  c  单独索引, a  , b ,c 联合索引, 现在有sql 语句 :

select  count(*)   from  tab1 where  a=:1  and  b=:2  and c=:3;  

这个时候oracle使用的是单独索引 c ,  而不是三者的联合索引 。原来使用choose 模式的时候使用的却是三者的联合索引,但是choose 模式下我们并没有对表进行分析 。

还有在 RULE 模式下 这个语句中c 字段赋不同的值会有不同速度, 有些慢的几乎执行不出来,有些只需要10多ms . 不知道是否和 c 字段的值的不同分布和不同值的数据量有关系 ?

总结

一个字段,既有复合索引,又有单列索引。如果,条件语句中只有该字段(的原始值)作为条件,则走单列索引;如果条件语句中有该字段和其他复合索引字段,则走复合索引。

还要考虑索引失效的情况!!!

参考文章

http://www.itpub.net/forum.php?mod=viewthread&tid=311555

最后

以上就是爱听歌裙子为你收集整理的Oracle 一个字段既有联合索引,又有单独索引环境概述总结参考文章的全部内容,希望文章能够帮你解决Oracle 一个字段既有联合索引,又有单独索引环境概述总结参考文章所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部