美文网首页
Mysql - like 语句会不会走索引

Mysql - like 语句会不会走索引

作者: 夹胡碰 | 来源:发表于2021-01-13 10:56 被阅读0次

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

    like '%中国%'; 不会触发
    like '%中国';  不会触发
    like '中国%';  会触发
    

    原因是满足最左前缀

    说明

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

    原理介绍

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

    相关文章

      网友评论

          本文标题:Mysql - like 语句会不会走索引

          本文链接:https://www.haomeiwen.com/subject/jtbjaktx.html