首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Mysql - like 语句会不会走索引

Mysql - like 语句会不会走索引

作者头像
夹胡碰
发布2021-01-14 10:44:13
发布2021-01-14 10:44:13
2.5K0
举报
文章被收录于专栏:程序猿~程序猿~

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

代码语言:javascript
复制
like '%中国%'; 不会触发
like '%中国';  不会触发
like '中国%';  会触发

原因是满足最左前缀

说明

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

原理介绍

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 原理介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档