MySQL MVCC

MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。


MVCC最大的优势:读不加锁,读写不冲突。在读多写少的OLTP应用中,读写不冲突是非常重要的,极大的增加了系统的并发性能。

MVCC实现

MVCC是通过在每行记录后面保存两个隐藏的列来实现的。

这两个列,一个保存了行的创建时间,一个保存行的过期时间(或删除时间)。当然存储的并不是实际的时间值,而是系统版本号(system version number)。

每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。

上一篇:asp.net mvc post 接受 传输过来的json数据 并序列化为dynamic 方便访问 一句代码


下一篇:Concurrency in C# Cookbook中文翻译 :c#的并发烹饪书