不可重复读(Non-repeatable Read)
缩写:无
简述
同一事务内两次读同一行,因其他事务已提交修改而得到不同值。与脏读不同:读到的是已提交数据。
使用场景
中间校验再写回的业务、隔离级别选择、MVCC 快照讨论。
实践与应用
• 需要稳定快照时用可重复读/串行化或显式锁。
• 业务可接受「读到最新提交」时用读已提交。
注意事项
• 与幻读区分:不可重复读针对已有行的值变化。
对比与易混
| 不可重复读 | 幻读 | |
|---|---|---|
| 焦点 | 已读行值变 | 集合变 |
关联术语
• 幻读:集合变化类异常
• 脏读:未提交读异常
• 隔离级别:控制手段