MySQL 索引最左前缀原则

有一个复合索引:

  1. INDEX(a, b, c)

哪些组合会用上索引?

答案

  1. 查询方式 能否用上索引
  2. ---------------------------------------------------+----------------------------
  3. select * from users where a=1 and b=2 能用上ab
  4. select * from users where b=2 and a=1 能用上ab(有MySQL查询优化器)
  5. select * from users where a=2 and c=1 能用上 a
  6. select * from users where b=2 and c=1 不能