如果一行被使用 SNAPSHOT 隔离级别的事务修改,任何并发更新(由另一个事务)同一行会导致 SNAPSHOT 事务因冲突而失败。
有没有办法让只读取(不一定修改)的行发生相同的行为?
例如,如果发生以下序列,我希望 TX1 因冲突而失败:
- TX1 以 SNAPSHOT 隔离级别开始
- TX1 读取第 1 行
- TX2 修改第 1 行并提交
- TX1 提交,并因冲突而失败,因为第 1 行在读取后已被修改
如果一行被使用 SNAPSHOT 隔离级别的事务修改,任何并发更新(由另一个事务)同一行会导致 SNAPSHOT 事务因冲突而失败。
有没有办法让只读取(不一定修改)的行发生相同的行为?
例如,如果发生以下序列,我希望 TX1 因冲突而失败: