在大量节点上设置属性

时间:2019-02-03 18:04:24

标签: neo4j cypher

尝试使用cypher为Neo4j中的大量节点设置属性时,我碰到了OutOfMemoryError

我使用的方法是这样的:

MATCH (n:MYLABEL) SET n.num_visits = 0 RETURN count(n)

当匹配的节点数在100,000s范围内时,此方法正常,但是当达到数百万个节点范围时,我在很长的延迟后遇到了OutOfMemoryError问题。 最好的方法是什么来解决此问题而又不会出现内存问题,并使操作相对快速地完成?

1 个答案:

答案 0 :(得分:2)

尝试从APOC library进行{{3}}的操作。例如:

CALL apoc.periodic.iterate (
  "MATCH (n:MYLABEL) RETURN n",
  "SET n.num_visits = 0", 
  {
     batchSize: 100000, 
     parallel: true
  }
)