MySQL 中的 MVCC 是什么?
回答重点
MVCC(Multi-Version Concurrency Control),多版本并发控制,是一种并发控制机制,允许多个事务同时读取和写入数据库,而无需互相等待,从而提升数据库的并发性能。
在MVCC中,数据库为每个事务创建一个数据快照。每当数据被修改时,MySQL不会立即覆盖原有数据,而是生成新版本的记录,每个记录都保留了对应的版本号或时间戳。
多版本之间串联起来就形成了一条版本链,这样不同时刻启动的事务可以无锁的获得不同版本的数据(普通读),此时普通读不会被阻塞。
写操作可以继续写,会创建新的数据版本(但只有在事务提交后,新版本才会对其他事务可见。未提交的事务修改不会影响到其他事物的读取),历史版本记录可供已经启动的事务读取。
#MySQL(21)评论