3

我正在使用 Java API 来提高曾经昂贵的 Cypher 查询的性能。我刚才正在重构并注意到我正在调用tx.success(),即使我没有更改任何数据。当什么都没有发生变化或者因为它知道实际上没有什么要提交时,将事务标记为成功是否有任何性能下降?

4

1 回答 1

6

我也确实深入研究了 Java Api,并在需要时立即运行。

如果您使用嵌套事务并且有外部代码调用未执行 tx.success 的读取操作,那么当外部事务将尝试提交(tx.success())时,您的内部事务(您的读取)会将 tx 标记为未成功完成)并且数据库将引发异常。

于 2015-04-21T21:53:57.560 回答