1. 程式人生 > >Mysql 索引: mysql中的like是否使用索引?

Mysql 索引: mysql中的like是否使用索引?

結論:mysql在使用like查詢的時候只有使用後面的%時,才會使用到索引。

原理:

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

在使用like的時候,如果使用‘%%’,會不會用到索引呢?
EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_%'; MYSQL查詢索引使用之like - hawk_wolf - hawk_wolf  上面的結果是全表掃描,並沒有使用到索引。 只是使用一個%的查詢結果: EXPLAIN SELECT * FROM `user` WHERE username LIKE 'ptd_%'; MYSQL查詢索引使用之like - hawk_wolf - hawk_wolf
這個使用到了索引。 EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_'; MYSQL查詢索引使用之like - hawk_wolf - hawk_wolf 在前面使用%時也是全表掃描,沒有使用到索引。
綜上,mysql在使用like查詢的時候只有使用後面的%時,才會使用到索引。