匿名用户Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时, 查询速度会变快吗?
Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时,查询速度会变快吗?
我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户Oracle中如果建了一个组合索引 当用这个组合索引中的某个字段去做条件查询时,查询速度会变快吗?
对于一个组合索引(a,b,c),以(a)、(a,b)、(a,b,c)为where条件都可以加速查询,
如果where条件中没有a,只以b或c为查询条件,这个时候oracle可能会走索引跳跃扫描或者全表扫,具体选哪个,以oracle优化器评估的cost为标准,如果a的值的基数比较小,可能索引跳跃扫描比较快,其实索引跳跃扫描的本质就是在where条件中列出全部a的值然后再加上b的值做条件。如果a的值的基数比较多,那索引跳跃扫描的代价就很高了,还不如全表来的快呢。
评论
有用 2
符合最左原则肯定更好。
但如果不符合,那跳扫 要看存储的数据情况了。
最佳的还是符合最左原则。
评论
有用 0
墨值悬赏