我正在尝试使用网络管理员(即localhost:7474 /浏览器)在一次查询中删除cyphper中的100万个节点。
这些节点标记为User。我运行了以下查询,然后在等待大约1分钟后返回了未知错误。
match (u:User) delete u
此查询每次都返回Unknown错误。我确认我的PC资源并不缺乏。 我正在使用Neo4j版本2.0.0 RC1社区版。和Neo4j在当地举办 我尝试删除节点的方法是错误的吗? 感谢
答案 0 :(得分:6)
您应该使用合理的事务大小~10-50k原子操作进行写操作。因此,您可以使用limit
并运行该语句,直到所有用户都离开:
match (u:User) with u limit 1000 delete u
答案 1 :(得分:1)
使用Neo4j 3.x及更高版本,您也可以使用APOC运行大型删除事务:
call apoc.periodic.iterate("MATCH (u:User) return u", "DETACH DELETE u", {batchSize:1000})
yield batches, total return batches, total
答案 2 :(得分:-3)
我发现只删除neo4j/data
文件夹是删除数据库的最快方法。