一、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刪除不再使用或者很少使用的索引
索引的存在會將表的更新操作變的繁瑣,並且占用磁碟空間,應定期檢查不需要的索引,並將其刪除
描述mysql的索引原則 設計Mysql索引的原則
1.搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where 子句中的列,或連線子句中指定的列,而不是出現在select 關鍵字後的選擇列表中的列。2.使用惟一索引。考慮某列中值的分布。對於惟一值的列,索引的效果最好,而具有多個重複值的列,其索引效果最差。例如,存放年齡的列具有...
mysql 雜湊索引 MySQL索引之雜湊索引
雜湊索引 hash index 建立在雜湊表的基礎上,它只對使用了索引中的每一列的精確查詢有用。對於每一行,儲存引擎計算出了被索引的雜湊碼 hash code 它是乙個較小的值,並且有可能和其他行的雜湊碼不同。它把雜湊碼儲存在索引中,並且儲存了乙個指向雜湊表中的每一行的指標。在mysql中,只有me...
mysql主鍵索引 MySQL索引之主鍵索引
在mysql裡,主鍵索引和輔助索引分別是什麼意思,有什麼區別?上次的分享我們介紹了聚集索引和非聚集索引的區別,本次我們繼續介紹主鍵索引和輔助索引的區別。1 主鍵索引 主鍵索引,簡稱主鍵,原文是primary key,由乙個或多個列組成,用於唯一性標識資料表中的某一條記錄。乙個表可以沒有主鍵,但最多只...