Files
NoteBook/MySQL/7. 隔离级别.md
T
2025-09-26 14:55:31 +08:00

1019 B

隔离级别

  • 读未提交
    • 未提交事务的修改可见
  • 读提交
    • 提交事务的修改可见
  • 可重复读
    • 事务启动时看到数据保持一致
  • 串行化
    • 阻塞执行

用于解决的问题

  • 脏读
    • 读到未提交事务修改的数据
    • 读提交解决此问题
  • 不可重复读
    • 在事务中多次读取数据不一致
    • 可重复读解决此问题
  • 幻读
    • 多次查询符合某个条件的记录数不一致
    • 串行化解决此问题

具体实现

  • 读未提交
    • 每次读取最新数据
  • 读提交
    • 每个语句执行前 Read View
  • 可重复读
    • 事务开始时 Read View
  • 串行化
    • 加读写锁

Read View

Read View

事务划分——

  • 已提交事务
    • trx_id < min_trx_id
  • 活跃事务
    • min_trx_id <= trx_id < max_trx_id
  • 未开始事务
    • trx_id >= max_trx_id