
一、MVCC核心原理:多版本并发控制的基石
1.1 为什么需要MVCC?
在传统锁机制中,读写操作会互相阻塞,导致高并发场景下性能下降。MVCC通过多版本数据快照避免读写阻塞,实现:
- 读不加锁:快照读(普通SELECT)不阻塞写操作
- 写不阻塞读:写操作生成新版本,读操作访问历史版本
- 提升并发性:比纯锁机制提升30%~50%的吞吐能力
1.2 核心组件与数据结构
1.2.1 隐藏字段(每行数据自带)
字段名 |
类型 |
作用描述 |
DB_TRX_ID |
6字节 |
最后修改该行的事务ID |
DB_ROLL_PTR |
7字节 |