一、MySQL常用的索引類型
1.1主鍵索引
primary key
1.2唯一索引
unique
1.3普通索引
index
1.4全文索引
1.5組合索引
二、MySQL常用的數據結構
2.1B-tree
2.2哈希索引
三、索引的設計原則
3.1選擇唯一性索引
被設為唯一性的值可以設置為索引,這樣能快速定位到某條記錄
3.2為經常需要排序、分組和聯合操作的字段建立索引
經常需要order by,group by,distinct,union操作的字段可以設置為索引,因為排序需要很多時間
3.3為常作為查詢條件的字段建立索引
查詢需要消耗很多時間,所以可以將需要經常查詢的字段作為索引
3.4限制索引的數目
不是索引的數目越多越好,建立索引會占用磁盤空間,并且當數據更新時,除了跟新數據庫中,還要跟新索引中的數據,這樣使更新操作變的復雜,需要大量的時間
3.5盡量使用前綴來索引
如果索引字段比較長,盡量使用前綴來索引,比如TEXT和BLOG類型,只需前綴就可定位到對應字段,如果使用全文索引會浪費很多時間
3.6盡量使用數據量少的索引
如果所以的值很長,那么索引的速度也會降低
3.7刪除不再使用或者很少使用的索引
索引的存在會將表的更新操作變的繁瑣,并且占用磁盤空間,應定期檢查不需要的索引,并將其刪除