天天看點

資料庫關系模式存取方式

資料庫的實體設計,資料庫索引的相關筆記。

資料庫中最普遍的使用方法。底層硬碟的存儲也有使用b+樹。

b+樹屬于多路平衡搜尋樹,理論複雜度和平衡二叉樹相同操作都是log(n)。因為多路的特性,i/o操作上更有優勢,并且也讓樹的深度降低。是以,設計b+樹時,是盡可能讓樹的深度降低的。

隻是以使用b+樹而不是b-數,是因為b+樹的關鍵字全在葉子節點。這樣一來,硬碟一個簇可以存更多節點。可減少io次數。

使用hash算法計算出散列值,通過散列值快速定位查找的資料。

hash索引可能是通路資料庫中資料的最快方法,因為hash算法幾乎可以認為是o(1)的。

但是 hash 索引本身由于其特殊性也帶來了很多限制和弊端。

(1)hash可能出現碰撞,通常有連結清單法和開放尋址法來解決。如果碰撞多了,無疑降低了hash索引的速度。

(2)hash計算出散列後,因為碰撞的原因,還需要進行實際資料對比。

(3)hash算法隻能定位單個,無法進行範圍查詢。自然,如果是組合索引,也無法用部分索引鍵查詢。

可以類比成有序數組,相關屬性按序排列。

一個關系隻能在一個聚簇中,其次不适用于經常更新的關系。

是以聚簇存儲通常适用于:

(1)經常一起進行連接配接操作的關系。

(2)關系的一組屬性經常出現在相等的比較條件中。

(3)關系的屬性上的值重複率很高。