Database B+;树CPU搜索时间

Database B+;树CPU搜索时间,database,database-design,Database,Database Design,我只是想知道,对于未聚集和聚集的b+树,您如何计算最坏情况下的时间 例如,假设我有1000000条记录(1行=100字节),磁盘页面是4000字节,一个键是20字节,一个页面的访问时间是40ms。我如何使用这些变量计算未聚集和聚集b+树的最坏情况时间 我知道,要计算b+树的高度/等级,您可以使用以下公式(我认为): 其中F=praches分支的数量 有了高度,你可以用它来计算最后最坏情况下的时间,但我不知道怎么做。。。我试着四处搜索,但我所能做的只是找到一些不太清楚的普通案例或例子 感谢您的帮助

我只是想知道,对于未聚集和聚集的b+树,您如何计算最坏情况下的时间

例如,假设我有1000000条记录(1行=100字节),磁盘页面是4000字节,一个键是20字节,一个页面的访问时间是40ms。我如何使用这些变量计算未聚集和聚集b+树的最坏情况时间

我知道,要计算b+树的高度/等级,您可以使用以下公式(我认为):

其中F=praches分支的数量

有了高度,你可以用它来计算最后最坏情况下的时间,但我不知道怎么做。。。我试着四处搜索,但我所能做的只是找到一些不太清楚的普通案例或例子

感谢您的帮助

我会说logF(keys)是查找页面最糟糕的情况,但在那之后,最糟糕的情况将是一个未定制的索引,所有RID都指向不同的页面,这意味着

logF(keys)+N表示索引节点中的RID数

所以最终会是这样

H=树的高度,它可能是3或4

H+N=4+(4000/20)=204 I/O

让我们假设他们在内存中,希望看到CPU时间,然后它将是

CPU=204*0.04=8.16秒。虽然在内存中移动一页需要40毫秒,但我认为这是相当长的时间(对于磁盘读取来说可能是有意义的),但我认为计算很好

logF(keys)