美文网首页
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 语句会不会走索引

    答案是满足特定条件,会,如下: 原因是满足最左前缀 说明 最左前缀不仅仅适用于组合索引,还适用于varchar的l...

  • Mysql索引查询失效的情况

    MySQL索引失效的几种情况 1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。 2、...

  • MySQL

    where like语句select * from mysql.user where name like %admin%

  • Mysql添加索引

    mysql语句添加索引 1.PRIMARYKEY(主键索引) mysql>ALTERTABLE`table_nam...

  • like索引查询--mysql索引

    like '%%'如何命中索引 相信各位老铁在开发的过程中肯定都遇到过like全匹配的需求。在数据量很小的时候,s...

  • mysql 技术点汇总

    MYSQL存储引擎介绍 索引 mysql 执行过程 mysql 语句解析过程 https://www.cnblog...

  • MySQL explain 查询计划结果集学习笔记

    MySQL 的 explain 语句显示了 MySQL 如何使用索引来处理 select 语句以及连接表,可以帮助...

  • mysql

    一 mysql基础 二 mysql索引 什么是索引 索引是一种数据结构,解决查询语句中where和order by...

  • Mysql 索引失效以及行锁,表锁

    mysql 索引失效有以下几种情况 1,or 语句,如果要在or语句中使用索引,那么所有条件都必须使用索引,建议尽...

  • 【Mysql】索引的类型最完整介绍

    一、简介 Mysql主要的几种索引类型: 普通索引 唯一索引 主键索引 综合索引 全文索引 语句 1、unique...

网友评论

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

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