在我的 B+Tree 中,我在叶级排序了键,数据指针指向一个单独的数据文件。这个问题是指这个数据文件中的数据顺序。
如我所见,订购时:
读取块时更容易加载块中的所有数据,因为数据的存储顺序与其键相同,因此您只需检查相邻的数据指针是否在同一块中。
访问大量相邻数据或执行范围时读取次数较少,因为数据更有可能包含在同一块中。
删除/拆分/插入时增加的碎片和写入
未订购时:
插入时减少写入,因为数据只是附加到与节点关联的最后一个块的末尾。
执行范围时增加读取,因为数据不太可能在多个块之间拆分。
在同一块中查找其他数据所属的条目要慢得多,因为您必须遍历节点中的所有条目来检查它们的数据指针。
或者,当我需要从该节点内的条目访问数据时,是否应该将整个节点加载到内存中?
寻找关于我应该存储数据(有序/无序)的最佳方式的第二种选择,以及在对一个值执行简单的“获取”时应该加载多少个数据指针?
谢谢!