数据库连接的自动提交操作模式的优点和缺点是啥?
Posted
技术标签:
【中文标题】数据库连接的自动提交操作模式的优点和缺点是啥?【英文标题】:What are the advantages & disadvantages of Auto-commit mode of operation of a database connection?数据库连接的自动提交操作模式的优点和缺点是什么? 【发布时间】:2015-01-29 14:51:37 【问题描述】:来自 Hibernate 文档。
许多 DBMS 通过default
在每个新数据库连接上启用所谓的自动提交模式。 autocommit
模式对于 SQL
的临时执行很有用。
根据定义,应用程序始终执行计划好的语句序列。因此,您总是创建事务边界以将您的语句分组为原子单元,这似乎是合理的。因此,自动提交模式在应用程序中没有位置。
如果没有应用程序会使用它,为什么会有默认的自动提交模式?
【问题讨论】:
【参考方案1】:我相信你至少部分回答了你自己的问题:
自动提交模式对于 SQL 的临时执行很有用。
是的,它可能不适合具有高交易量的应用程序,但它在其他情况下仍然有用,例如临时或小批量插入。
【讨论】:
【参考方案2】:对于可以与一个查询竞争的原子业务流程,使用自动提交更有效,因为您可以避免额外的 begin
和 commit
查询,否则这些查询是必需的。
但是,对于其他进程(批量),自动提交不是一个现实的选择,因为在进程中途出现故障,即只有 一些 更新查询完成时,将几乎可以肯定会使数据库处于不一致的状态,这非常糟糕。
在一般情况下,最好将事务处理留给事务上下文(数据库库和容器等)。
【讨论】:
以上是关于数据库连接的自动提交操作模式的优点和缺点是啥?的主要内容,如果未能解决你的问题,请参考以下文章