嗨,我正在尝试将边缘文件加载到neo4j,每个大约80000条记录。我正在使用:
USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM
"file:///EdgesWriterSong_wrote.csv" AS csvLine
MATCH (writer:Writer { id: toInt(csvLine.WriterId),(songs:Songs { SongId: toInt(csvLine.SongId)
CREATE (writer)-[r:Wrote]->(songs)
加载时间太长了。有没有更快的方法?
您的查询有语法错误,但我假设您的实际代码如下所示:
USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM "file:///EdgesWriterSong_wrote.csv" AS csvLine
MATCH (writer:Writer { id: toInt(csvLine.WriterId) }),
(songs:Songs { SongId: toInt(csvLine.SongId) })
CREATE (writer)-[r:Wrote]->(songs);
如此简单的查询速度慢的最明显原因是您还没有为创建索引:Writer(id)
和歌曲(Song Id)
。通过运行这两个查询(一次一个)来做到这一点:
CREATE INDEX ON :Writer(id);
CREATE INDEX ON :Songs(SongId);