zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL在like查询中是否使用到索引

mysql索引 查询 是否 like 使用
2023-09-14 09:01:23 时间

mysql在使用like查询中,能不能用到索引?在什么地方使用索引呢?
在使用like的时候,如果使用‘%%’,会不会用到索引呢?

EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_%';

在这里插入图片描述


上面的结果是全表扫描,并没有使用到索引。
只使用右边一个%的查询:

EXPLAIN SELECT * FROM `user` WHERE username LIKE 'ptd_%';

在这里插入图片描述
这个使用到了索引。


只使用左边一个%的查询:

EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_';

在这里插入图片描述
在左边使用%时也是全表扫描,没有使用到索引。


综上,mysql在使用like查询的时候只有使用后面的%时,才会使用到索引。