Algorithm 需要B-tree磁盘读取要求说明

Algorithm 需要B-tree磁盘读取要求说明,algorithm,b-tree,Algorithm,B Tree,在维基百科B-tree的“搜索已排序文件的时间”部分,它说 由于每个数据块有100条记录,最后6次左右的比较不需要进行任何磁盘读取—所有比较都在最后一次磁盘数据块读取范围内 问题:在20个比较中,为什么最后6个左右的比较不需要任何磁盘读取?最后6个比较都是针对读取到内存中的最后100个记录块进行的:2^6=64,64

在维基百科B-tree的“搜索已排序文件的时间”部分,它说

由于每个数据块有100条记录,最后6次左右的比较不需要进行任何磁盘读取—所有比较都在最后一次磁盘数据块读取范围内


问题:在20个比较中,为什么最后6个左右的比较不需要任何磁盘读取?

最后6个比较都是针对读取到内存中的最后100个记录块进行的:2^6=64,64<100

B-树:每次查找都会将以前的查找空间减少一半(请参见“分而治之”)。当域缩小到该级别时,所有数据“物理上非常接近”。在本例中,这是在已经读入内存的100条连续记录的单个块内,从而避免了额外的IO读取


前面的(14)比较很可能需要读取不同的记录/记录块,这些记录/记录块(不包括缓存)会导致IO读取。

这是一个多么快速的解释啊。非常感谢。