# 隔离级别（Isolation Level）

### 缩写：无

### 简述

规定事务并发时允许哪些中间状态可见。标准常见：读未提交、读已提交、可重复读、可串行化；实现多用锁或 MVCC，细节因产品而异。

### 为何出现

完全串行化最安全但吞吐差；需要可配置的正确性/性能折中。

### 使用场景

账务与库存等敏感写、报表读、默认级别评审、异常读现象排障。

### 在体系中的位置

会话/事务属性；影响锁范围、快照与冲突检测。

### 实践与应用

• 查清当前 DBMS 默认级别与语义（如 RR 是否防幻读）。
• 写冲突路径提高级别或显式锁；只读分析可用快照读。
• 用测试复现脏读/不可重复读/幻读。

### 注意事项

• 同名级别在 MySQL/PostgreSQL 等实现并不完全相同。
• 级别越高越易死锁或序列化失败。

### 对比与易混

| 概念级别 | 典型减少 |
|----------|----------|
| 读未提交 | 最松 |
| 读已提交 | 脏读 |
| 可重复读 | 不可重复读（视实现） |
| 可串行化 | 更多异常 |

### 信号与度量

异常业务结果、序列化失败重试率、锁等待。

### 关联术语

• 脏读 / 不可重复读 / 幻读：相关异常现象
• 锁 / MVCC：实现隔离的手段
• 事务：隔离的作用范围
