标签: database transactions relational-database
我想知道将多个数据库事务合并在一起是否合法?这会以任何方式打破程序语义吗?
答案 0 :(得分:0)
假设我们谈论的是三笔交易。让我们做出一些明智的假设:两种方式的最终结果是相同的,没有副作用等。
三个独立事务和单个合并事务之间的差异与数据库状态有关。在提交三个单独事务中的每个事务之后,数据库处于一致状态。 其他并发事务可以看到每个提交状态。
在提交单个合并事务之后,存在单个一致状态。如果存在中间一致状态,则它们不对其他事务可见。
事务隔离级别会稍微影响细节,但这是本质区别。