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)