Multi-Version Concurrency Control
MVCC 为每行维护多版本,读操作读一致快照不加锁,实现高并发读不阻塞写。
用途
理解现代数据库(PostgreSQL/Oracle/InnoDB)高并发读的核心机制。
机制
每行附带版本戳(xmin/xmax 或事务 ID)。读根据事务快照可见性判断选择可见版本,不加锁。写创建新版本并标记旧版本过期。死锁与写倾斜需额外检测。
用例
- 高并发读优化
- 快照隔离实现
- 数据库内核
MVCC 为每行维护多版本,读操作读一致快照不加锁,实现高并发读不阻塞写。
理解现代数据库(PostgreSQL/Oracle/InnoDB)高并发读的核心机制。
每行附带版本戳(xmin/xmax 或事务 ID)。读根据事务快照可见性判断选择可见版本,不加锁。写创建新版本并标记旧版本过期。死锁与写倾斜需额外检测。