MySQL索引建立原則

worshipone發表於2024-05-08

1,2,5,6比較重要。

  1. 針對於資料量較大,且查詢比較頻繁的表建立索引。單表超過10萬資料(增加使用者體驗)。
  2. 針對於常作為查詢條件(where)、排序(order by)、分組(group by)操作的欄位建立索引。
  3. 儘量選擇區分度高的列作為索引,儘量建立唯一索引,區分度越高,使用索引的效率越高。
  4. 如果是字串型別的欄位,欄位的長度較長,可以針對於欄位的特點,建立字首索引。
  5. 儘量使用聯合索引,減少單列索引,查詢時,聯合索引很多時候可以覆蓋索引,節省儲存空間,避免回表,提高査詢效率。
  6. 要控制索引的數量,索引並不是多多益善,索引越多,維護索引結構的代價也就越大,會影響增刪改的效率。
  7. 如果索引列不能儲存NULL值,請在建立表時使用NOT NULL約束它。當最佳化器知道每列是否包含NULL值時,它可以更好地確定哪個索引最有效地用於查詢。

相關文章