Mysql MVCC

MVCC

InnoDB

  • InnoDB 通过undolog 保存每条数据的多个版本.????
    * 不是很懂. 撤销日期,有什么用呢.
  • 隐藏字段, Read View, Undo log
  • DB_ROLL_PTR
    * 指向 Undo log 中的 旧数据.
  • DB_TRX_ID
    * 事务ID

Undo log

  • 存储的是老版本数据.
  • 记录链
  • update undo log
    * 里面是什么呢, 不是很懂.

Purge线程:

  • Undo log 清理线程

Read View

  • trx_ids 活跃事务,
    * 之后新加的事务怎么办. 不管.
    * 动态更新的吗. 不是.
    *
    *up_limit_id 最早事务ID
    * 是已提交的最大事务+1 ,这是错误的.

  • low_limit_id 生成这个 Read View时最大的事务id +1

快照读-snapshot read 和 当前读-current read

  • 不是很懂, 有什么区别.
  • 当前读
    * 记录锁-record lock, 间隙锁-gap lock,
    * 禁止其他事务操作行记录.
posted @ 2020-09-09 18:09  WANGHAO229  阅读(151)  评论(0)    收藏  举报