天天看點

一文徹底搞懂Mysql索引

一.什麼是索引?

索引是幫助MySQL高效擷取資料的排好序的資料結構(本質是一種優化查詢的資料結構)

二.為什麼要使用索引?

索引的出現就是為了提高查詢效率,就一本新華詞典,我們通過目錄快速鎖定要查詢的“字”在那一頁。其實說白了,索引要解決的就是查詢問題。

三.索引的優缺點?

優點:

  1. 可以有效的提高查詢效率;
  2. 可以加速表與表的連接配接;
  3. 可以減少查詢中分組和排序的時間

    缺點:

  4. 占據磁盤空間;
  5. 建立和維護索引消耗時間;
  6. 對表中的資料進行CRUD時,索引也要同時維護,降低了資料的維護速度。

四.索引的設計原則?

  1. 資料量小的表最好不要建立索引;
  2. 不是越多越好,常更新的表越少越好;
  3. 頻繁進行排序或分組的列(group by或者是order by)可以建立索引,提高搜尋速度;
  4. 如保證主鍵唯一型,可考慮建立唯一性索引;
  5. 經常用于查詢條件的字段應該建立索引。

五.什麼時候要建立索引?

  1. 表中的主關鍵字自動建立唯一索引;
  2. where 子

繼續閱讀