使用定期委托的表现n - Neo4j

时间:2017-06-19 12:06:29

标签: performance neo4j cypher

我正在使用LOAD CSV命令导入Neo4j中的节点和关系。为了获得更好的性能,我也使用USING PERIODIC COMMIT,因为我使用大文件导入(每个文件中有+/- 5000万条记录)。

我想知道是否更好地使用USING PERIODIC COMMIT 1000USING PERIODIC COMMIT 5000或批量中使用的更多记录来提升效果。

最大的方式是放一个大号还是对面?

Ps:机器中有很多可用的RAM内存。

由于

2 个答案:

答案 0 :(得分:2)

大数字会使流程更快。原因是:大数量会导致提交量减少。因此,IO磁盘操作量较少。

示例:使用1000条记录和USING PERIODIC COMMIT 50将结果20写入磁盘操作(1000条记录/ 50)。更改为USING PERIODIC COMMIT 100将导致10次写入磁盘操作(1000条记录/ 100)。

答案 1 :(得分:1)

我一直在做类似的事情,我的数据集包含大约70万个数据点。

我已经看到USING PERIODIC COMMIT 100000USING PERIODIC COMMIT 50000花费更多的时间在数据库中插入数据点。

因此,在我的情况下,较小的数字将使我的过程更快,而较大的的数字将引发 not enough memory to perform current task

的异常