知识库

如何确定 detach delete 将影响的节点和关系数量

在运行 `match …​. detach delete n;` 之前,该命令将找到这些节点并删除与这些节点关联的所有关系,以及删除节点本身,您可能需要运行一个查询来确定将影响多少节点/关系。

例如,使用 Neo4j 浏览器的 `:play movies` 数据库,如果运行

match (n:Person) return count(n), sum ( size( (n)-[]->()));

这将返回

image

这表明,如果您随后运行 `match (n:Person) detach delete n;`,这将影响

133 个节点和 253 个关系,如所示

image

在这种情况下,133 个节点和 253 个关系不是一个非常大的数字。但是,如果查询要返回数万个节点和关系,那么您应该重新考虑方法并遵循名为 `Neo4j 中的大型删除事务最佳实践` 的文档。