InnoDB 多版本并发控制

mysql_database/innodb/mvcc2026-10-29 11:03:47

InnoDB 多版本并发控制(MVCC)通过记录版本和事务可见性规则,为部分读取提供一致性视图,并支持事务回滚。

版本与可见性

InnoDB 在记录中维护事务相关信息,并通过 undo 记录恢复旧版本。一致性读取按事务及隔离级别判断哪些版本可见,避免把尚未提交的修改直接当作正常查询结果。

与锁的关系

MVCC 不表示读写完全不需要锁。锁定读取、更新和不同隔离级别有各自规则,长事务还可能使旧版本不能及时清理。

讨论机制时应区分普通一致性读取与 SELECT ... FOR UPDATE 等锁定读取,说明 MySQL 版本和隔离级别,不能把某一种读取行为推广到所有 SQL。

参考资料

本页目录