優點:提高了查詢速度。
缺點:由於索引也存在於檔案中。索引多了資料相對少了。頻繁修改表中的資料也會造成索引結構的修改。由於索引結構複雜,維護消耗時間過多造成的效能降低。
例b+樹(多路樹)的結構複雜。
索引也可以說和目錄差不多,表的目錄。所以資料量小不適合
這也關係到索引的價值問題:
索引價值 也就是說越唯一越好,查詢速度快,準確。
索引價值= distinct(屬性)/count(屬性),
count(屬性):屬性的總數。
distinct(屬性):屬性是不重複的數量。
長度欄位是影響比較結果和比較時間,也就是影響b+樹的結構。
根據前幾個字元來作為索引
總的來看,索引設計原則的目的 就是為了控制索引的數量
mysql索引設計 MySQL索引設計原則
一 mysql常用的索引型別 1.1主鍵索引 primary key 1.2唯一索引 unique 1.3普通索引 index 1.4全文索引 1.5組合索引 二 mysql常用的資料結構 2.1b tree 2.2雜湊索引 三 索引的設計原則 3.1選擇唯一性索引 被設為唯一性的值可以設定為索引,...
MySQL索引設計原則
設計原則 低選擇性的列不加索引,如性別 常用的字段放在前面 選擇性高的字段放在前面 需要經常排序的字段,可加到索引中,列順序和最常用的排序一致 對較長的字段資料型別優先考慮字首索引如index url 64 只建立需要的索引,避免冗餘索引,如index a,b index a mysql索引的限制 ...
設計Mysql索引的原則
1.搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where 子句中的列,或連線子句中指定的列,而不是出現在select 關鍵字後的選擇列表中的列。2.使用惟一索引。考慮某列中值的分布。對於惟一值的列,索引的效果最好,而具有多個重複值的列,其索引效果最差。例如,存放年齡的列具有...