数据库连接的自动提交操作模式的优点和缺点是啥?

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】:

对于可以与一个查询竞争的原子业务流程,使用自动提交更有效,因为您可以避免额外的 begincommit 查询,否则这些查询是必需的。

但是,对于其他进程(批量),自动提交不是一个现实的选择,因为在进程中途出现故障,即只有 一些 更新查询完成时,将几乎可以肯定会使数据库处于不一致的状态,这非常糟糕。

在一般情况下,最好将事务处理留给事务上下文(数据库库和容器等)。

【讨论】:

以上是关于数据库连接的自动提交操作模式的优点和缺点是啥?的主要内容,如果未能解决你的问题,请参考以下文章

以下不属于代理模式缺点的是啥

redis 和 mongodb 比起来优缺点是啥?

浅谈数据库连接池

将数据库从 oracle 11g 迁移到 MySql 5.7 的优点、缺点和问题是啥?

M1卡和IC卡各自的优缺点是啥啊?

Redis 和 Memcached 各有啥优缺点,主要的应用场景是啥样的