1

继热门文章https://dzone.com/articles/tips-for-fast-batch-updates-of-graph-structures-wi之后。我正在进行批量更新。我正在使用 java API 来更新它,我的查询看起来像:

UNWIND $props as row MERGE (n:Entity{eid:row.eid}) ON MATCH set n += row.properties

我有一个 100 万条记录数据集,我使用的批量大小为 10K,每次我将 10K 记录作为映射列表发送到我的参数。这种方法在开始时效果很好,但在 2 或 3 批之后变得非常慢甚至卡住了。

我有实体和 eid 索引,我使用浏览器测试我的查询,它看起来像: 将 UNWIND $props 解释为行...。

对于新添加的节点,当我尝试将它们与标签实体和属性 eid 匹配时,也会使用索引。所以我相信我的问题不是由于索引。

我尝试使用较小的批处理大小为 1K,但同样的问题发生了,大约 50 个批处理后,更新变得非常慢。

我正在使用 Neo4j 3.2.3 企业版。

我能做些什么来解决这个问题?任何想法将不胜感激。

4

0 回答 0