创建大量关系时,neo4j一直说服务器已断开连接

时间:2019-05-04 14:03:18

标签: neo4j cypher

我有大量使用cypher创建的关系,并且不断收到以下错误:Connection to server lost. Reconnecting..

增加的内存。运行该查询,neo使用了约37GB的内存,其余的将用于RAM缓存/缓冲区。磁盘空间和CPU使用率似乎还可以。服务器一直在说Connection to server lost. Reconnecting..

说明 匹配(r:Room), (t:线程) 存在(r.unique_room_id)和存在(t.unique_room_id)并且r.unique_room_id = t.unique_room_id 创建(r)-[:发布]->(t);

预期结果将是创建数百万个关系。在下面的图像中,您可以看到如何执行此查询的详细信息。有什么建议么?谢谢! Query plan

1 个答案:

答案 0 :(得分:0)

确保服务器已正确配置堆和页面缓存。

您可以使用apoc library批量执行此操作:

假设您在:Thread(unique_room_id)上有一个索引

call apoc.periodic.iterate('
MATCH (r:Room)
WITH r.unique_room_id as unique_room_id
MATCH (t:Thread) WHERE t.unique_room_id = unique_room_id
RETURN t, r
','CREATE (r)-[:PUBLISHED]->(t)', {batchSize:100000});

请参阅:http://neo4j-contrib.github.io/neo4j-apoc-procedures/3.5/cypher-execution/commit-batching/

相关问题