Mysql的like是否使用索引

winterSky 2018-07-25 PM 1057℃ 0条

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

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

1.jpg

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

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

2.jpg

这个使用到了索引。
EXPLAIN SELECT * FROM user WHERE username LIKE '%ptd_';

3.jpg

在前面使用%时也是全表扫描,没有使用到索引。

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

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~