首页 > 数据库技术 > 详细

mysql in操作 索引优化的一个疑问

时间:2018-08-10 12:49:35      阅读:138      评论:0      收藏:0      [点我收藏+]
兹有 Index (A,B,C) ——组合索引多字段是有序的,并且是个完整的BTree 索引。
  • 下面条件可以用上该组合索引查询:
    • A>5
    • A=5 AND B>6
    • A=5 AND B=6 AND C=7
    • A=5 AND B IN (2,3) AND C>5
  • 下面条件将不能用上组合索引查询:
    • B>5 ——查询条件不包含组合索引首列字段
    • B=6 AND C=7 ——查询条件不包含组合索引首列字段
  • 下面条件将能用上部分组合索引查询:
    • A>5 AND B=2 ——当范围查询使用第一列,查询条件仅仅能使用第一列
    • A=5 AND B>6 AND C=2 ——范围查询使用第二列,查询条件仅仅能使用前二列

  • A=5 AND B IN (2,3) AND C>5 , 会使用到索引的全部字段. 原理是什么?是自动优化拆分成 A=5 and b=2 and c>5 or a=5 b=3 and c>5两个SQL吗? 当IN的数量达到多少的时候,索引只能用A,B列,而用不到C列?

 

mysql in操作 索引优化的一个疑问

原文:https://www.cnblogs.com/songxinya/p/9454339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!