今天更新图数据库,需要删除七百多万个关系,一开始简单粗暴的MATCH ()-[r:relation]-() DELETE r;
果不其然,内存炸了,所以选择一部分一部分地删,在使用LIMIT时又碰到一些bug,最终Cypher代码如下:
MATCH ()-[r:relation]-()
WITH r
LIMIT 1000000
DELETE r
RETURN count(*);
这里的with和return都不能少,少了就报错。
另外看到一篇博客,讲的用批处理,我没试,先贴这儿
Neo4j中使用Cypher进行大批量节点删除的优化