索引的使用顺序

上一篇 / 下一篇  2008-04-23 12:52:12 / 个人分类:Oracle Performance Tunning

对RBO如何判断索引的使用顺序推测如下:ITPUB个人空间&tSV;s Z0` bj
 
0dQ+Ii([2e2D;b0
首先,根据索引包含的列是否被WHERE语句中完全包括,将索引分为两大类:一类索引被完全包含,一类不被完全包含(还有一类索引,这种索引根本没有被WHERE语句包括,不过这种索引不会被使用,因此这里也就不考虑了)。而完全包含的索引被优先考虑;
Nx2t;A6ht~7\0
ITPUB个人空间Z^D'i1Yk,st
如果多个索引都是完全包含索引或者都是不完全包含索引,那么比较索引中被WHERE语句中包含的列的个数,包含的个数越多,越被优先考虑(从这一点可以推出文档上给出的结论:完全包含的复合索引与完全包含的单列索引相比具有优先级);
@'r2a/yk2J0

^9Ln0fT~"k{8m0如果两个索引都是完全包含索引或者都是不完全包含索引,且包含的列数也相同的话,那么Oracle会优先考虑最后创建的那个索引。 Oracle会根据上面的三个条件的顺序找到优先级最高的索引作为RBO使用的索引。
g8if'ok*a:q0u0
以上结论仅是个人通过查询结果进行的推断,不保证与Oracle真是情况完全一致。

原文地址:http://yangtingkun.itpub.net/post/468/220101


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar