在建立大量关系的同时,Neo4J一直在说服务器已断开连接



我有大量的使用Cypher创建的关系,并且我继续遇到以下错误:Connection to server lost. Reconnecting..

增加内存。运行查询,NEO使用〜37GB的内存,其余的将用于RAM缓存/缓冲区。磁盘空间和CPU的使用似乎还可以。服务器不断说Connection to server lost. Reconnecting..

解释匹配(R:房间(,(T:线程(存在(r.unique_room_id(和存在(t.unique_room_id(和r.unique_room_id = t.unique_room_id创建(r( - [:已发布] ->(t(;

预期的结果是建立数百万关系。在下面的图像中,您可以看到该查询如何执行的详细信息。有什么建议么?谢谢你!查询计划

确保您的服务器已正确配置了堆和Page-Cache。

您可以使用APOC库来批处此操作:

假定您在: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/

最新更新