跳到主要内容
uencoder

Isolation Level

隔离级别定义并发事务间的可见性,从读未提交到串行化,级别越高一致性越强但并发越低。

用途

在并发性能与一致性间权衡,选择适当的隔离级别。

机制

读未提交(脏读)、读已提交(不可重复读)、可重复读(幻读)、串行化(无异常)。MVCC 实现快照隔离(介于可重复读与串行化)。PostgreSQL 默认读已提交,MySQL InnoDB 默认可重复读。

用例

  • 并发事务一致性控制
  • 读已提交避免脏读
  • 可重复读报表一致性
  • 串行化强一致

示例

  • 输入
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED
    输出
    Avoids dirty reads

    PostgreSQL default

常见错误

Low isolation levels cause non-repeatable/phantom reads
Choose the isolation level per business needs

相关词条

参考链接