隔离级别(Isolation Level)
缩写:无
简述
规定事务并发时允许哪些中间状态可见。标准常见:读未提交、读已提交、可重复读、可串行化;实现多用锁或 MVCC,细节因产品而异。
为何出现
完全串行化最安全但吞吐差;需要可配置的正确性/性能折中。
使用场景
账务与库存等敏感写、报表读、默认级别评审、异常读现象排障。
在体系中的位置
会话/事务属性;影响锁范围、快照与冲突检测。
实践与应用
• 查清当前 DBMS 默认级别与语义(如 RR 是否防幻读)。
• 写冲突路径提高级别或显式锁;只读分析可用快照读。
• 用测试复现脏读/不可重复读/幻读。
注意事项
• 同名级别在 MySQL/PostgreSQL 等实现并不完全相同。
• 级别越高越易死锁或序列化失败。
对比与易混
| 概念级别 | 典型减少 |
|---|---|
| 读未提交 | 最松 |
| 读已提交 | 脏读 |
| 可重复读 | 不可重复读(视实现) |
| 可串行化 | 更多异常 |
信号与度量
异常业务结果、序列化失败重试率、锁等待。
关联术语
• 脏读 / 不可重复读 / 幻读:相关异常现象
• 锁 / MVCC:实现隔离的手段
• 事务:隔离的作用范围