Autocommit是正确的,因为:
没有性能损失,因为只读事务不必写入事务日志(WAL)。
没有锁定,例如a_horse_with_no_name评论。甚至一个 SELECT 持有一个 ACCESS SHARE 锁定表,这将阻止命令 TRUNCATE , DROP TABLE 和真空截断。
SELECT
ACCESS SHARE
TRUNCATE
DROP TABLE
司机不必发送额外的 BEGIN 和 COMMIT 语句,这将导致不必要的客户端 - 服务器往返。
BEGIN
COMMIT