防止索引失效原則
1.當你使用索引的時候,最好能夠把你建立的索引的字段都給用到。不僅可以提供查詢的效率。
2.最佳左前綴法則,意思就是當你如果有建立過多個字段索引的組合索引的時候,最要遵循最左前綴法則,指的是查詢從索引的最左前列開始並且不能跳過索引中的列。
原則:
- 第一個索引不能掉
- 中間索引不能掉
3.不在索引列上做任何操作(計算、函數(自動or手動)類型轉換),會導致索引失效而轉向全表掃描。
4.存儲引擎不能使用索引中范圍右列的列,范圍之后索引全失效。
5.盡量使用覆蓋索引(只訪問索引的查詢(索引列和查詢一致)),減少select *。
6.mysql在使用不等於(!=或者<>)的時候無法使用索引會導致全表掃描。
7.is null,is not null也無法使用索引,所以表中的數據應該不能為NULL。
8.like以通配符開頭('%abc...')或者('%abc%...'),mysql索引失效會變成全表掃描的操作,使用('abc%')索引不失效。
9.字符串不加單引號索引失效。
10.少用or,用它來連接時會索引失效。
小總結:
refer:
https://blog.csdn.net/weixin_34122810/article/details/89534628