mysql 索引 index range

今天在调试一个BUG的时候,无意间发现 explain 发现了 index range;

112510_8qnA_2492079.png

之前对于索引的理解是,单个索引每次查询只能用一个索引。于是赶紧查一下,果然存在这个优化器在适当的时候会选择使用两个索引然后取交集,并集。

又一想那效率和符合索引有什么区别呢? 实验发现还是符合索引速度快,而且快不少。看来出现index range 不是最优的索引。

113034_5kzC_2492079.png


效率对比:

符合索引(user_id,type)

113445_caSX_2492079.png

单个索引user_id,type 优化器自动选择两个索引交集

113445_giJx_2492079.png

总结:符合索引还是第一选择。


附上两篇关于index range 讲解:

http://dev.mysql.com/doc/refman/5.7/en/index-merge-optimization.html

http://www.orczhou.com/index.php/2013/01/mysql-source-code-query-optimization-index-merge/



转载于:https://my.oschina.net/web256/blog/548400

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值