資料庫設計規則(重新整理)

2022-06-23 17:45:09 字數 1129 閱讀 7472

資料庫索引的設計原則:

為了使索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼型別的索引。

那麼索引設計原則又是怎樣的?

1.選擇唯一性索引

唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。

例如,學生表中學號是具有唯一性的欄位。為該欄位建立唯一性索引可以很快的確定某個學生的資訊。

如果使用姓名的話,可能存在同名現象,從而降低查詢速度。

2.為經常需要排序、分組和聯合操作的欄位建立索引

經常需要order by、group by、distinct和union等操作的欄位,排序操作會浪費很多時間。

如果為其建立索引,可以有效地避免排序操作。

3.為常作為查詢條件的欄位建立索引

如果某個欄位經常用來做查詢條件,那麼該欄位的查詢速度會影響整個表的查詢速度。因此,

為這樣的欄位建立索引,可以提高整個表的查詢速度。

4.限制索引的數目

索引的數目不是越多越好。每個索引都需要佔用磁碟空間,索引越多,需要的磁碟空間就越大。

修改表時,對索引的重構和更新很麻煩。越多的索引,會使更新表變得很浪費時間。

5.儘量使用資料量少的索引

如果索引的值很長,那麼查詢的速度會受到影響。例如,對一個char(100)型別的欄位進行全文

檢索需要的時間肯定要比對char(10)型別的欄位需要的時間要多。

6.儘量使用字首來索引

如果索引欄位的值很長,最好使用值的字首來索引。例如,text和blog型別的欄位,進行全文檢索

會很浪費時間。如果只檢索欄位的前面的若干個字元,這樣可以提高檢索速度。

7.刪除不再使用或者很少使用的索引

表中的資料被大量更新,或者資料的使用方式被改變後,原有的一些索引可能不再需要。資料庫管理

員應當定期找出這些索引,將它們刪除,從而減少索引對更新操作的影響。

8.小表不應建立索引;包含大量的列並且不需要搜尋非空值的時候可以考慮不建索引