如何解决仅在JDBI中始终使用事务是否有重大不利之处?
对于永远不会变得太大的表,仅使用jdbiExecutor::executeInTransaction
而不是jdbiExecutor::execute
有什么缺点吗?
我正在尝试简化一个非常大而复杂的代码,以便新开发人员可以更快地投入使用。如果性能没有显着差异(即使这样,在这里解决该问题还为时过早优化),那么我想编写一个仅使用jdbiExecutor::executeInTransaction
的实用程序。
解决方法
PostgreSQL服务器在自动提交模式下运行,因此使用显式事务不仅会导致COMMIT
语句发送到数据库,还会导致BEGIN
语句开始显式事务。
这意味着您每笔交易最多可以进行2次额外的客户端-服务器往返。
仅在需要将多个语句捆绑到一个事务中时才使用显式事务,这可能会提高性能。
我将运行一个简单的基准,以查看影响是否显着;如果没有,请继续简化您的代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。