Mysql - like 语句会不会走索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql - like 语句会不会走索引相关的知识,希望对你有一定的参考价值。

参考技术A

答案是满足特定条件, ,如下:

原因是满足 最左前缀

最左前缀不仅仅适用于 组合索引 ,还适用于 varchar 的 like 语句,但是要注意,只有 like "XXX%" 的情况走索引, like "%XXX" 是不走索引的。

Mysql innodb 引擎默认的索引数据结构是 b+ 树,组合索引会形成多字段顺序排序,比如下图,会先按照姓名进行排序,姓名相等就再按照年龄排序,所以会有组合索引的最左前缀原理,而假如只 like 查询姓名,例如 like "张%" ,则也可以使用最左前缀原理,先索引到 张六 ,然后遍历查询,直到姓名不以 张 开头。

以上是关于Mysql - like 语句会不会走索引的主要内容,如果未能解决你的问题,请参考以下文章

mysql like 不走索引怎么办

mysql如何使用like关键字实现模糊查询?有啥注意事项

mysql 不走索引的情况

Mysql查询in语句都走索引吗

like模糊查询是否走索引

Mysql like ' ' 会不会用到索引