优化Cypher查询以创建许多关系

时间:2018-02-14 20:36:56

标签: neo4j cypher

我有500个节点,每个节点都与特定节点有关系。性能方面,最好是在一个查询中找到所有500个节点并创建所有关系,还是单独进行?

从我的测试中我可以看出,在一个查询中执行它似乎更快,但我不知道如果出现错误,如何查找查询中断的位置以及完成哪些部分。

1 个答案:

答案 0 :(得分:1)

如果所有500个节点都需要与相同的特定节点建立关系(让我们称之为x),那么在单个查询中完成所有这些节点肯定会更快,因为你' d只需要找到x一次 - 而不是500次。

neo4j是事务性的,同一事务中的每个操作都必须成功,否则所有操作都将回滚。如果您在单个Cypher语句中创建所有500个关系(将在单个事务中处理),那么您不必担心导致数据库不一致的错误。