我有大约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关系不一样)
我该如何解决这个问题? 任何帮助将不胜感激
答案 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,这意味着在这种情况下数据库中不存在任何节点。您可以使用不同的限制设置来查看最佳效果。
希望这有帮助