mvcc事务隔离机制

Posted givenchy_yzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mvcc事务隔离机制相关的知识,希望对你有一定的参考价值。

数据库隔离机制可以参考以下链接:

https://www.cnblogs.com/linhaifeng/articles/14387903.html

mvcc事务隔离机制:
在MVCC并发控制中,读操作可以分成两类:快照读 (snapshot read)与当前读 (current read)。
快照读,读取的是记录的可见版本 (有可能是历史版本),不用加锁。
当前读,读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条记录。
快照读:简单的select操作,属于快照读,不加锁。

select * from table where ?;

当前读:特殊的读操作,插入/更新/删除操作,属于当前读,需要加锁。 
select * from table where ? lock in share mode;
select * from table where ? for update;
insert into table values (…);
update table set ? where ?;
delete from table where ?;
详细可参考:https://www.cnblogs.com/linhaifeng/articles/14424206.html

以上是关于mvcc事务隔离机制的主要内容,如果未能解决你的问题,请参考以下文章

在读提交的事务隔离级别下,MVCC 机制是如何工作的?

深入理解MVCC与BufferPool缓存机制

深入剖析Mysql事务和Spring事务

MVCC机制略解

MySQL | 五分钟搞清楚 MVCC 机制

MySQL事务并发问题和MVCC机制