文章目录
3.MySQL的MVCC机制
3.1前言
- MVCC,在数据库中实现并发控制的技术,允许多个事务同时对数据库进行读写操作,而不会导致数据不一致或丢失
- 核心思想:在数据库中维护多个数据版本,并根据事务的隔离级别来决定哪个版本数据对特定事务是可见的
- 实现的四个重要部分:
- undo log日志
- 隐藏字段
- undo log版本链
- readView
3.2undo log日志
- undo log(回滚日志)中记录了修改前的数据值,以及撤销操作所需的信息,以便在事务回滚或 MVCC 中使用
3.3三个隐藏字段
- InnoDB会自动为每个undo log 回滚日志加上三个字段:
- DB_ROW_ID:隐藏主键
- DB_TRX_ID:创建该undo log 版本数据的事务ID
- DB_ROLL_PTR:回滚指针,指向这个事务之前的 undo log