mysql 索引優化法則

 

1.全值匹配
指where的條件儘量跟建立的索引一致


2.最佳左前綴
指按照索引順序進行設置where篩選條件,,不按順序或者缺失左邊列,則索引會失效


3.不在索引上做任何操作(計數、函數或者類型轉換)
指count,sum這類的,會導致索引失效


4.存儲引擎不能使用索引中範圍條件右邊的列
指where條件中,範圍條件開始及其之後的,就不納入索引範圍內,且範圍篩選條件前的,需要按照索引建立的順序來設置。


5.儘量使用覆蓋索引
指索引列覆蓋select查詢的列,查詢信息會直接從索引中讀取,不會讀取數據文件,儘量少用select *


6.使用不等於,is null 或者is not null時候,索引失效
原理同範圍索引是一樣的


7.like查詢以通配符開頭的,索引會失效
類似 a like ‘%123……’這種索引會失效,如果非要使用,則儘量使用覆蓋索引來解決。 


8.字符串不加單引號,索引失效
原理同第3點的類型轉換,如果犯這種錯誤,我覺得您可能不太適合這個崗位


9.用or關鍵字時,索引失效 

 

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