B樹和B+樹的區別、還有hash索引的區別?

B樹和B+樹的區別、還有hash索引的區別?

1) B樹每個節點都存儲了key和data,B+樹的data只存儲在葉子節點上。

節點不存儲data,就可以存儲更多的key,使得樹變矮,查詢操作效率更高,執行的越快。

2) 樹的所有葉子節點構成了一個有序列表,可以按照關鍵碼的次序遍歷全部記錄。

由於數據順序排列並相連,所以便於區間查找和搜索。而B樹需要每一層的遞歸遍歷。

爲什麼不使用哈希索引:

哈希索引的絕對優勢是在沒有出現哈希碰撞時查詢時間複雜度是O(1),查詢速度非常快,但他有很多缺點;
不支持範圍查詢
不支持索引完成排序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章