我們在使用like %萬用字元時常常會引起索引失效的問題。
這裡,我們討論一下like使用%的幾種情況:
下列例子用到的索引(vc_student_name)
一、like 『xx%』
explain select * from t_student where vc_student_name like 『王%』二、like 『%xx』
explain select * from t_student where vc_student_name like 『%王』上述兩個例子說明,在使用萬用字元時,%放在開頭會引起索引失效。
但在現實問題裡,往往需要把%放在開頭作模糊匹配。這是我們可以通過覆蓋索引的方式即索引覆蓋查詢,來解決索引失效的問題。
explain select * from t_student where vc_student_name like 『%王』
mysql模糊查詢索引 MySQL模糊查詢全文索引
全文索引 mysql front dump 2.5 host localhost database test server version 4.0.12 nt log table structure for table t3 create table t3 name char 12 not null...
模糊查詢的時候避免索引失效
有時候我們使用模糊查詢 like 的時候,會出現索引失效的情況,比如根據手機號碼後四位模糊匹配查詢。在mysql中模糊查詢 mobile like 8765 這種情況是不能使用 mobile 上的索引的,那麼如果需要根據手機號碼後四位進行模糊查詢,可以用一下方法進行改造。我們可以加入冗餘列 mysq...
mysql索引失效 常見mysql索引失效條件
使用索引的一般語句 1 where條件中有or,除非or的所有欄位都有索引,只要有乙個沒有索引,就不走索引 explain select from jf user ju where ju.user id or ju.superior1 yyy user id是主鍵,superior1是普通索引,結果...