首页 > 解决方案 > 在 neo4j 中运行查询以形成关系

问题描述

我在 cypher shell 中运行查询以形成 1000 万个节点之间的关系。查询是

CALL apoc.periodic.iterate(
"MATCH (a:HeaderRecord), (b:FormationRecord) 
 WHERE a.WellID = b.WellID 
 CREATE (a)-[rel:HAS_FORMATION]->(b) 
 RETURN rel",
 {batchSize:5000, parallel:true, iterateList:true}
)

查询运行了过去一小时,但没有发生任何事情。我怎样才能使查询详细而快速。

标签: neo4jneo4j-apoc

解决方案


是您正在使用的查询:

CALL apoc.periodic.iterate(
"MATCH (a:HeaderRecord), (b:FormationRecord) 
 WHERE a.WellID = b.WellID 
 RETURN a, b",
 "CREATE (a)-[rel:HAS_FORMATION]->(b)",
 {batchSize:5000, parallel:true, iterateList:true}
)

您是否在 on:FormationRecord(WellID)或 on 上创建了索引:HeaderRecord(WellID)


推荐阅读