MySQL 索引失效原因

type:system>const>ref_eq>ref>range>index>all

1、儘量不要使用類型轉換,否則導致索引失效。

select name from user where name = 123;(name字段爲varchar類型)

2、like儘量以常量開頭,不要以‘%’開頭,否則索引失效。

如果必須使用模糊查詢,可以使用索引覆蓋挽救一部分(查詢的列和查詢條件都爲相同索引列)。

3、儘量不要使用or查詢,否則索引失效。

select * from user where name='abc' or cid=12; 左側的name索引也將失效

4、複合索引不能使用 <、>、<>、!=或則is_null (is not null),否則自身以及右側的索引全部失效。

5、複合索引不要跨列或則無序使用(最佳左前綴)

複合索引儘量使用全索引怕匹配

6、不要在索引上進行任何操作,否則索引失效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章