
所以where条件里的内容看是否能走索引则看最左前缀原则是否满足。
最左前缀的使用,有两条说明:
1. Mysql 从左向右匹配直到遇到范围查询(>、<、between 、like)就停止匹配。示例:
-
where a =1 and b =2 and c >3 and d =4。如果建立( a , b . cd )顺序的索引, d 是用不到索引。如果建立( ab , d , c )顺序的索引则都可以用到。
2. where 条件中=和 in 是可以乱序的, mysql 的查询优化器会帮你优化成索引可以识别的形式。示例:
-
where a =1 and b =2 and c =3。where b =2 and a =1 and c =3。
转载自:
https://mp.weixin.qq.com/s/z_0JRcJQ-rxaZxO2IdTzJw
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3126772/
,如需转载,请注明出处,否则将追究法律责任。