為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。本小節將向讀者介紹一些索引的設計原則。
1.選擇唯一性索引
唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。如果使用姓名的話,可能存在同名現象,從而降低查詢速度。
2.為經常需要排序、分組和聯合操作的字段建立索引
經常需要order by、group by、distinct和union等操作的字段,排序操作會浪費很多時間。如果為其建立索引,可以有效地避免排序操作。
3.為常作為查詢條件的字段建立索引
如果某個字段經常用來做查詢條件,那麼該字段的查詢速度會影響整個表的查詢速度。因此,為這樣的字段建立索引,可以提高整個表的查詢速度。
4.限制索引的數目
索引的數目不是越多越好。每個索引都需要占用磁碟空間,索引越多,需要的磁碟空間就越大。修改表時,對索引的重構和更新很麻煩。越多的索引,會使更新表變得很浪費時間。
5.盡量使用資料量少的索引
如果索引的值很長,那麼查詢的速度會受到影響。例如,對乙個char(100)型別的字段進行全文檢索需要的時間肯定要比對char(10)型別的字段需要的時間要多。
6.盡量使用字首來索引
如果索引欄位的值很長,最好使用值的字首來索引。例如,text和blog型別的字段,進行全文檢索會很浪費時間。如果只檢索欄位的前面的若干個字元,這樣可以提高檢索速度。
7.刪除不再使用或者很少使用的索引
表中的資料被大量更新,或者資料的使用方式被改變後,原有的一些索引可能不再需要。資料庫
管理員應當定期找出這些索引,將它們刪除,從而減少索引對更新操作的影響。
注意:選擇索引的最終目的是為了使查詢的速度變快。上面給出的原則是最基本的準則,但不能拘泥於上面的準則。讀者要在以後的學習
和工作中進行不斷的實踐。根據應用的實際情況進行分析和判斷,選擇最合適的索引方式。
MySQL資料庫索引的設計原則總結
為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。本小節將向讀者介紹一些索引的設計原則。1 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。...
資料庫索引的設計原則
索引定義 是乙個單獨的,儲存在磁碟上的資料庫結構,其包含著對資料表裡所有記錄的引用指標.為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。那麼索引設計原則又是怎樣的?1 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表...
MYSQL資料庫設計原則
1 核心原則 不在資料庫做運算 cpu計算務必移至業務層 控制列數量 字段少而精,字段數建議在20以內 平衡正規化與冗餘 效率優先 往往犧牲正規化 拒絕3b 拒絕大sql語句 big sql 拒絕大事物 big transaction 拒絕大批量 big batch 2 欄位類原則 用好數值型別 用...