事务的一个重要属性是原子性。
默认模式为已提交读取。这可以防止脏读。但是我们有可重复读取和幻影行的问题。
当使用默认(已提交读)隔离模式时,如何确保原子规则?
示例-在tran1中,我从table1中读取值。当tran1仍在运行时,我启动tran2并在table1中更新相同的值。所以tran1的价值已经过时了。
发布于 2020-05-31 17:53:00
Read committed isolation模式不会阻止在事务仍处于打开状态时更新事务中已读取的行。
如果要防止这种情况,则需要将隔离级别设置为可重复读取(或SERIALIZABLE)。或者,您可以将数据库的READ_COMMITTED_SNAPSHOT选项设置为ON。
https://stackoverflow.com/questions/62113673
复制相似问题