MVCC(数据库多版本并发控制)

前面的文章说到数据库的事务问题,在innodb引擎四个隔离级别(读未提交RU;读已提交RC;可重复读RR;可串行化Serializable)中,而MVCC只适用于RC和RR。

一、什么是MVCC

Multi-Version Concurrency Control,就是在事务执行过程中加入“版本”这个概念、MVCC的实现,通过保存数据在某个时间点的快照来实现的。

1、MVCC优缺点

MVCC在大多数情况下代替了行锁,实现了对读的非阻塞读不加锁读写不冲突。缺点是每行记录都需要_额外的存储空间_,需要做更多的行维护和检查工作。