gpt4 book ai didi

java - 如何对项目进行排序以便更快地插入 MapDB BTree?

转载 作者:行者123 更新时间:2023-11-30 09:03:47 41 4
gpt4 key购买 nike

所以我有一个包含大约 2000 万个键值对的列表,我将数据以不同的方式存储在几个 MapDB 中,以查看它如何影响我的程序性能,并进行实验。

问题是,将 2000 万个键值对插入(以随机顺序)到 mapdb 中需要花费大量时间。所以,我想对我拥有的键值对列表进行排序,以便我可以更快地插入它们,从而更快地从中构建数据库。

那么,我该怎么做呢?

我想了解如何为 MapDB 的 BTreeSet 和 BTreeMap 或使用单个键值对的 MapDB 和单个键具有多个值的 MapDB 执行此操作。

编辑:我忘了说,键值对是字符串对象。

最佳答案

使用 Data Pump 中的构建来创建新的 BTreeMap。它具有记录数的线性速度。即使数据不适合内存,它也会对数据进行排序。

Map newMap = db.createTreeMap("map")
.pumpSource(randomIterator) //source of data to import
.pumpBatchSize(1000000) //sort data from source, batch size must be set so it fits into memory
.make()

关于java - 如何对项目进行排序以便更快地插入 MapDB BTree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538711/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com