【发布时间】:2009-05-15 17:31:07
【问题描述】:
我是第一次研究 B+ 树。 我只想知道,在什么基础上 开发者选择B+树的顺序?
另外,有没有像 B+ 树这样的东西 傻瓜教程?我拼命 需要它。
【问题讨论】:
-
我在这个问题中添加了数据库标签,因为我认为有数据库背景的人更适合回答这个问题。
标签: database data-structures file-structure
我是第一次研究 B+ 树。 我只想知道,在什么基础上 开发者选择B+树的顺序?
另外,有没有像 B+ 树这样的东西 傻瓜教程?我拼命 需要它。
【问题讨论】:
标签: database data-structures file-structure
如果您的意思是“排序”B+-树节点中传出指针的数量,您应该考虑排序 k 以便磁盘上的节点是磁盘扇区大小的倍数或文件系统块大小,例如4 KB。
如果您从磁盘读取节点,则磁盘(我在这里假设磁盘而不是 SSD)必须寻找节点的位置并读取节点。对于大小为 KB 的节点,寻道时间远大于该节点在磁盘上的实际传输时间。因此,选择一个订单以使节点的磁盘大小为 64 KB 可能是一个不错的选择。
【讨论】:
理想情况下,您需要选择具有良好locality of reference 的订单来帮助缓存。鼓励对键进行顺序扫描的顺序也很有帮助。一般来说,这取决于您的数据。
【讨论】: