select id from foo
),我很想知道使用 Play API 的
db.withTransaction
与使用
db.withConnection
执行它对性能的影响?我认为前者会更昂贵,因为数据库需要启动事务,但我希望获得有关使用前者与后者的性能成本的更多详细信息。
docs:
PostgreSQL 实际上将每条 SQL 语句都视为正在执行 在一笔交易内。如果您不发出 BEGIN 命令,则每个 单个语句具有隐式 BEGIN 和(如果成功)COMMIT 缠绕在它周围。由 BEGIN 和 包围的一组语句 COMMIT 有时被称为事务块。所以,即使你不使用交易,它仍然会使用交易。话虽如此,我认为
withTransaction
版本发出了更多语句,并且鉴于这只是一个简单的选择,我认为您可以使用 withConnection 版本并且永远不会回头。但是...您没有告诉我们这个 select 语句。你只是检查连接池的状态吗?或者您需要担心隔离级别吗?