似乎Xodus使用的内存量与写入事务的大小成正比(如果我错了,请纠正我)。因此对于大笔交易可能会成为一个问题,对于我的应用程序,我不得不选择更大的堆大小,以防万一Xodus有大量工作集。有什么方法可以减少内存使用量?配置设置?启发式?
答案 0 :(得分:1)
第一种可能的方法是将更改分为几批,并使用jetbrains.exodus.entitystore.StoreTransaction#flush
逐一清除它们。例如,如果您要将100K实体插入数据库,最好分批进行。
如果您广泛使用大型Blob,那么最好先将它们存储到临时文件中。