Mysql like ' ' 会不会用到索引

Posted

tags:

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

mysql在使用like查询中,能不能用到索引?在什么地方使用索引呢?

在使用like的时候,如果使用‘%%’,会不会用到索引呢?
EXPLAIN SELECT * FROM `user` WHERE username LIKE ‘%ptd_%‘;
 
技术分享
 上面的结果是全表扫描(type == ALL),并没有使用到索引。
 
 
只是使用一个%的查询结果:
EXPLAIN SELECT * FROM `user` WHERE username LIKE ‘ptd_%‘;
技术分享
这个使用到了索引(type == range)。
 
 
EXPLAIN SELECT * FROM `user` WHERE username LIKE ‘%ptd_‘;
技术分享
在前面使用%时也是全表扫描,没有使用到索引。
 
综上,mysql在使用like查询的时候只有不以%开头的时候,才会使用到索引
 
 
 

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

Mysql like ' ' 会不会用到索引

请教在MySQL怎么反过来LIKE某个字段? 我们通常都是 LIKE '%关键字%' 这样找出记录 我现在的情况是在字段

mysql like通配符escape啥意思

mysql like 不走索引怎么办

mysql 模糊查询时 like动态传参

mysql 大数据量查询如何优化,没办法去掉<>和like