简介

  • Innodb高并发的原因:所有普通select均为快照读,快照读使用 MVCC ,不加锁。
  • MVCC实现RC,RR隔离级别,其余两个隔离级别和MVCC无关。

MVCC原理

回滚指针

  • 旧数据存在undo日志中,通过DB_ROLL_PTR(回滚指针)查找历史版本数据。
  • 插入时,回滚指针为null。
    Innodb快照读
  • 更新时。排他锁锁定行,修改前的值copy到undo中,修改值并使回滚指针指向Undo中的备份,记录redo。
    Innodb快照读

快照

  • 通过read view判断记录行是否可见。
  • RR级别:事务开始时,复制当前所有活跃事务到read view列表。
  • RC级别:每个语句开始时,复制当前所有活跃事务到read view列表。
  • 列表中最早事务id为tmin,最晚事务id为tmax,读到的数据行上当前事务id为tid0。
    Innodb快照读

参考

相关文章:

  • 2022-12-23
  • 2021-06-19
  • 2022-01-17
  • 2021-12-09
  • 2021-12-12
  • 2022-12-23
  • 2021-04-04
猜你喜欢
  • 2021-05-18
  • 2021-11-07
  • 2021-12-09
  • 2021-08-08
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案