Neo4j删除图表大数据

时间:2017-06-23 15:35:24

标签: performance time neo4j delete-file

我有大约11M关系的大文件。 当我运行查询:Match (n) detach delete n时,似乎需要永远完成。 我做了一些研究,发现我需要删除限制的关系,然后使用该查询删除节点:

MATCH (n)
 OPTIONAL MATCH (n)-[r]-()
 WITH r LIMIT 200000
 DELETE r
 RETURN count(r) as deletedCount

然而,当我正在进行一些表演比较时,我总结删除孔图的总删除时间似乎并不合乎逻辑。 并且在将关系的限制值一次更改为删除时更改。 (如果我做2000关系,那么它与20000关系不一样)

我该如何解决这个问题? 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

您可以使用apoc.periodic.commit来帮助您进行批处理。你必须使用apoc plugin,它有很多很酷的功能来增强密码。

您可以使用以下密码查询。

call apoc.periodic.commit("
match (node)
with node limit {limit}
DETACH DELETE node
RETURN count(*)
",{limit:10000})

这将批量运行查询,直到第一个match返回null,这意味着在这种情况下数据库中不存在任何节点。您可以使用不同的限制设置来查看最佳效果。

希望这有帮助