为什么kd-tree是主存储器结构?

时间:2015-02-19 15:35:39

标签: database indexing tree kdtree

我只是想知道为什么kd-tree总是被视为主存储器结构。这意味着每个节点都保存在主存中,不是吗?

与B树(每个节点应该放在一个磁盘块中)相比,这对我来说并没有多大意义。谁能解释一下呢?谢谢:))

1 个答案:

答案 0 :(得分:1)

要有效地将树存储在磁盘上,它应该适合8k页(大多数硬盘的页面大小)。使用k-d树,这将是巨大的浪费,效率非常低。

因此,将k-d-tree写入磁盘并不值得付出代价。

另一方面,可以设置B树,以便它们使用整个磁盘页面。 这很重要,因为磁盘在访问块时更有效(甚至更好:块的范围),而不是在随机访问字节时。