文章出處

如何避免索引失效

  • 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 條件中的每個列都加上索引。

索引優化口訣:


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()