Isolation Level
隔离级别定义并发事务间的可见性,从读未提交到串行化,级别越高一致性越强但并发越低。
用途
在并发性能与一致性间权衡,选择适当的隔离级别。
机制
读未提交(脏读)、读已提交(不可重复读)、可重复读(幻读)、串行化(无异常)。MVCC 实现快照隔离(介于可重复读与串行化)。PostgreSQL 默认读已提交,MySQL InnoDB 默认可重复读。
用例
- 并发事务一致性控制
- 读已提交避免脏读
- 可重复读报表一致性
- 串行化强一致
示例
- 输入
SET TRANSACTION ISOLATION LEVEL READ COMMITTED输出Avoids dirty readsPostgreSQL default
常见错误
- Low isolation levels cause non-repeatable/phantom reads
- Choose the isolation level per business needs