[英]B+ Tree CPU search time
我只是想知道您如何計算未聚簇的b +樹的最壞情況時間?
例如,假設我有1,000,000條記錄(1行= 100字節),磁盤頁面為4000字節,鍵為20字節,頁面的訪問時間為40ms。 如何使用這些變量計算未聚簇和聚簇的b +樹的最壞情況時間?
我知道要計算b +樹的高度/水平,請使用以下命令(我認為):
logF(keys)
其中F =分支數。
有了高度,您就可以用它來計算最終的最壞情況下的時間,但是我不知道該怎么做...我嘗試過搜索,但是我所能做的就是平均情況下的時間或沒有的示例。很清楚。
任何幫助表示贊賞!
我會說logF(keys)是查找頁面的最壞情況,但是在那之后最壞的情況是沒有索引的索引,您的所有操作都指向不同的頁面,這意味着
logF(keys)+ N為N,即索引節點中的騎乘次數。
所以最后
H =樹的高度大約為3或4。
H + N = 4 +(4000/20)= 204個I / O
讓我們說他們在內存中,想要查看CPU時間,那將是
CPU = 204 * 0.04 = 8.16秒。 雖然我認為40ms用於在內存中移動頁面相當多的時間(對於磁盤讀取來說是有道理的),但我認為計算很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.