据说B树在大量数据无法容纳在主内存中时特别有用。
我的问题是,我们如何确定B树的顺序或节点中存储的密钥数量?或节点应该有多少个孩子?
我发现每个人都在使用每个节点使用4/5密钥。它如何解决巨大的数据和磁盘读取问题?
答案 0 :(得分:4)
通常,您选择顺序,以便生成的节点尽可能大,同时仍适合块设备页面大小。如果您正在尝试为磁盘数据库构建B树,您可能会选择顺序,使每个节点都适合单个磁盘页,从而最大限度地减少执行每个操作所需的磁盘读写次数。如果您想构建内存中的B树,您可能会选择L2或L3缓存行大小作为目标,并尝试将尽可能多的密钥放入节点而不超过该大小。在任何一种情况下,您都必须查看规范以确定要使用的大小。
当然,您可以随时尝试并尝试以经验方式确定。 : - )
希望这有帮助!