暂无图片
Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时, 查询速度会变快吗?
我来答
分享
暂无图片 匿名用户
Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时, 查询速度会变快吗?

Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时,查询速度会变快吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
张sir

对于一个组合索引(a,b,c),以(a)、(a,b)、(a,b,c)为where条件都可以加速查询,

如果where条件中没有a,只以b或c为查询条件,这个时候oracle可能会走索引跳跃扫描或者全表扫,具体选哪个,以oracle优化器评估的cost为标准,如果a的值的基数比较小,可能索引跳跃扫描比较快,其实索引跳跃扫描的本质就是在where条件中列出全部a的值然后再加上b的值做条件。如果a的值的基数比较多,那索引跳跃扫描的代价就很高了,还不如全表来的快呢。

暂无图片 评论
暂无图片 有用 2
暂无图片
农夫三拳
2022-09-13
mark
薛晓刚

一般来说用到了前导列,就可能使用到索引。通常来说是可以快的。

暂无图片 评论
暂无图片 有用 0
chengang

符合最左原则肯定更好。

但如果不符合,那跳扫 要看存储的数据情况了。

最佳的还是符合最左原则。

暂无图片 评论
暂无图片 有用 0
回首看不尽年华

索引遵循最左匹配原则。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏