【问题标题】:B+ trees, choosing the orderB+ 树,选择顺序
【发布时间】:2009-05-15 17:31:07
【问题描述】:

我是第一次研究 B+ 树。 我只想知道,在什么基础上 开发者选择B+树的顺序?

另外,有没有像 B+ 树这样的东西 傻瓜教程?我拼命 需要它。

【问题讨论】:

  • 我在这个问题中添加了数据库标签,因为我认为有数据库背景的人更适合回答这个问题。

标签: database data-structures file-structure


【解决方案1】:

如果您的意思是“排序”B+-树节点中传出指针的数量,您应该考虑排序 k 以便磁盘上的节点是磁盘扇区大小的倍数或文件系统块大小,例如4 KB。

如果您从磁盘读取节点,则磁盘(我在这里假设磁盘而不是 SSD)必须寻找节点的位置并读取节点。对于大小为 KB 的节点,寻道时间远大于该节点在磁盘上的实际传输时间。因此,选择一个订单以使节点的磁盘大小为 64 KB 可能是一个不错的选择。

【讨论】:

    【解决方案2】:

    理想情况下,您需要选择具有良好locality of reference 的订单来帮助缓存。鼓励对键进行顺序扫描的顺序也很有帮助。一般来说,这取决于您的数据。

    【讨论】:

    • 我相信他的意思是树的顺序,而不是强加给项目的顺序。
    • 树的顺序对项目施加了顺序。因此,这两个问题是同一个问题:)
    • 不是……真的。树的顺序是有多少项目适合每个节点。这将直接影响树的高度。 dta:我通常在这里使用带有可选 s 的正则表达式来表示性别,因为有时不清楚。
    • 啊,我明白你的意思了……我把它解释为对键的排序,是的。
    猜你喜欢
    • 2011-08-24
    • 2012-01-18
    • 1970-01-01
    • 2015-04-25
    • 2011-03-24
    • 2010-12-08
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多