B-trees通常能够优化以下场景的应用:数据集的一部分存储在二级的存储设备比如硬盘上,而对硬盘的读写速度不理想以及耗费资源,B-trees 能够减少读写硬盘次数,而基于数据搭建一个排序的树,从而任何对数据的查找只需要一次读写硬盘。
这里是一些基于Pole Position benchmarks的测试的亮点:
基于10万个对象进行OR检索,耗费的时间从70s降到350ms
往包含10万个对象的数据库里增加一个对象,消耗的时间从2.1秒下降到300ms
在V5.7中,使用B-trees只需要一行代码:
Db4o.configure()。objectClass(Car.class)。objectField("pilot")。indexed(true);
如果你已经使用了域索引,那么你使用V.5.7 版本的时候,,系统会自动帮你重建索引。
B-trees 是db4o road map中相当重要的一个提升。其他的提升还包括基于B-trees range的懒加载处理,并发查询,以及进一步的内存消耗优化,这些都期望在今年晚些时候实现。
