如何避免索引失效


如何避免索引失效

  • 1、全值匹配我最愛

    建立幾個復合索引字段,最好就用上幾個字段。且按照順序來用。
    
  • 2、最佳左前綴法則

    如果索引了多列,要遵守最左前綴法則,指的是查詢從索引的最左前列開始,不跳過索引中間的列。

  • 3、不再索引列上做任何操作(計算、函數、(自動or手動)類型轉換),會導致索引失效而轉向全表掃描。

  • 4、存儲引擎不能使用索引中范圍條件右邊的列。

    若中間索引列用到了范圍,則后面的索引全失效。

  • 5、盡量使用覆蓋索引(只訪問索引的查詢(索引列和查詢列一致)),減少select* 。

    覆蓋索引是select的數據列只用從索引中就能夠取得,不必讀取數據行,換句話說查詢列要被所建的索引覆蓋。

  • 6、Mysql在使用不等於(!=或者<>)的時候無法使用索引會導致全表掃描。

  • 7、IS NULL和IS NOT NULL也無法使用索引

  • 8、like以通配符開頭('%abc...')mysql索引失效會變成全表掃描的操作

  • 9、字符串不加單引號索引失效

  • 10、用or來連接時索引會失效應少用,要想使用 or,又想讓索引生效,只能將 or 條件中的每個列都加上索引。

索引優化口訣:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM