B+樹索引和Hash索引各自的有點

介紹:目前傳統關係型數據庫經常使用的索引類型有B+樹和Hash兩種,好比MySQL。數據庫

一、B+樹索引存取方法的選擇函數

所謂選擇索引存取方法,實際上就是根據應用要求肯定對應關係的哪些屬性創建索引、哪些屬性列創建組合索引、哪些索引要設計爲惟一索引等。通常來講:設計

(1)若是一個(或一組)屬性常常在查詢條件中出現,則考慮在這個(或者這組)屬性上創建索引(或組合索引)。索引

(2)若是一個屬性常常做爲最大值和最小值等彙集函數的參數,則考慮在這個屬性上創建索引。hash

(3)若是一個(或一組)屬性常常在鏈接操做的鏈接條件中出現,則考慮在這個(或這組)屬性上創建索引。方法

關係上定義的索引數並非越多越好,系統爲維護索引要付出代價,查找索引頁要付出代價;例如:若一個關係的更新頻率很高,這個關係上定義索引不能太多,由於更新一個關係時,必須對這個關係上的有關索引作相應的修改。數據

二、Hash索引存取方法的選擇關係型數據庫

選擇hash存取方法的規則以下:若是一個關係的屬性主要出如今等值鏈接條件中或主要出如今等值比較條件中,並且知足下列兩個條件之一,則此關係能夠選擇hash存取方法。查詢

(1)一個關係的大小可預知,並且不變。參數

(2)關係的大小動態改變,但數據庫管理系統提供了動態hash存取方法。

相關文章
相關標籤/搜索