2017-06-23 107 views
-2

我在下面的文章中嘗試瞭解數據持久性的不同數據結構。在文章中寫道,順序操作對B樹是有利的,但不是隨機操作。爲什麼B樹上的隨機操作不好?

Article link

enter image description here

請你把一些光在這一些例子。提前致謝 。

+0

它在下一段中回答。 「隨機操作使得B樹由於硬件限制而出現性能問題,隨機」修改「操作導致多個磁盤IO。」 –

+0

是的,隨機操作使得多次查找磁盤,它可能在葉子上存在所需的密鑰,並且在最糟糕的情況下,可能會出現「記錄到基準k」頁面級別的查找。如果我想插入一個新密鑰,可能會發生同樣的事情,然後根據B樹插入其自下而上的方法和密鑰的位置可能在根,所以我必須遍歷整個頁面導致「登錄到基地k「尋求。所以我的觀點是硬件限制如何使隨機修改成本高昂。 –

+0

你剛剛回答你的own.question。 –

回答

0

順序鍵(或單調遞增函數)一般不引起對B樹的訪問其關鍵值是連續(單調或)的

這應該是,序列的問題一般不給B樹造成問題。

原因如下:在順序訪問期間,鍵值傾向於停留在相同的B樹節點,而隨機訪問可能會持續改變B樹節點; B樹節點表示輔助存儲頁面;所以前者意味着更頻繁地更改輔助存儲頁面,而後者更頻繁;所以前者通常更快,而後者通常更慢。