下列场景中,适合关闭事务自动提交的有?()
A. 多表关联批量数据更新,保证整体原子性
B. 跨多条 DML 语句组合为一个完整业务事务
C. 单条简单查询语句执行
D. 单条独立 INSERT 写入单条数据
2 个赞
正确答案是:A、B
解析:
- A 正确 :在进行多表关联的批量数据更新时,需要保证所有操作要么全部成功,要么全部回滚。关闭自动提交并手动控制事务,可以确保这些批量操作作为一个整体具有原子性 。
- B 正确 :当一个完整的业务逻辑需要由多条 DML 语句(如 INSERT、UPDATE、DELETE)组合完成时,必须关闭自动提交,将它们包裹在同一个显式事务中,以保证业务数据的完整性与一致性。
- C 错误 :单条简单查询语句(SELECT)通常不涉及数据修改,保持默认的自动提交模式即可,无需关闭。
-
D 错误 :单条独立的 INSERT 写入单条数据,其本身就是一个完整的操作,使用默认的自动提交模式最为合适。如果刻意关闭自动提交,反而需要额外编写
COMMIT语句,增加了不必要的开发成本和出错概率。