索引覆盖问题如果建了复合索引(如表中a列和b列,create index idx1 on t(a,b)),顺序是ab。
代码1:select * from t where a='....';
代码2:select * from t where b='....';
代码1是能用上索引idx1的,因为a是索引上的第一列
代码2用不上索引idx1的,因为b不是索引上的第一列。现在我在书上看到说oracle 10g有索引的跳跃搜索,也就是如代码2中的sql也能用上索引idx1.
问题:跳跃搜索的话,代码2的速度和代码1的速度一样吗?
代码1:select * from t where a='....';
代码2:select * from t where b='....';
代码1是能用上索引idx1的,因为a是索引上的第一列
代码2用不上索引idx1的,因为b不是索引上的第一列。现在我在书上看到说oracle 10g有索引的跳跃搜索,也就是如代码2中的sql也能用上索引idx1.
问题:跳跃搜索的话,代码2的速度和代码1的速度一样吗?
详见 http://blog.csdn.net/inthirties/archive/2009/11/11/4797670.aspx