我正在尝试以每秒 50k 的插入速度向 BerkeleyDB 添加 3e9 键(重复性低),复合记录由具有两个整数的结构形成。每个键的长度为 30。我使用的是 C API。
看起来我必须将 cache_size 增加到 2GB,否则一段时间后数据库上的插入会变得非常慢。但是,它总是消耗超过 2GB 的 RAM。
我不使用事务或游标,我使用的是 DB_HASH。
如何确保我不会消耗这么多内存并且不会太慢?
我正在尝试以每秒 50k 的插入速度向 BerkeleyDB 添加 3e9 键(重复性低),复合记录由具有两个整数的结构形成。每个键的长度为 30。我使用的是 C API。
看起来我必须将 cache_size 增加到 2GB,否则一段时间后数据库上的插入会变得非常慢。但是,它总是消耗超过 2GB 的 RAM。
我不使用事务或游标,我使用的是 DB_HASH。
如何确保我不会消耗这么多内存并且不会太慢?