美文网首页
innodb中幻读与mvcc和间隙锁分析

innodb中幻读与mvcc和间隙锁分析

作者: 秋名山车神_f776 | 来源:发表于2020-02-07 11:30 被阅读0次

innodb中幻读的解决到底是依赖间隙锁还是mvcc产生了分歧。
(事务隔离级别rr)面试官大大认为innodb就是靠mvcc解决的幻读,而我固执的认为绝对是间隙锁解决了这个问题。

面毕,查了一些资料,并且自己时间之后的分析和结论如下。

首先读分为:
快照读
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 ?;

对于快照读来说,幻读的解决是依赖mvcc解决。而对于当前读则依赖于gap-lock解决

相关文章

  • innodb中幻读与mvcc和间隙锁分析

    innodb中幻读的解决到底是依赖间隙锁还是mvcc产生了分歧。(事务隔离级别rr)面试官大大认为innodb就是...

  • 什么是间隙锁?

    间隙锁是可重复读级别下才会有的锁,结合MVCC和间隙锁可以解决幻读的问题。我们还是以user举例,假设现在user...

  • MySQL 间隙锁

    间隙锁 间隙锁在MySQL中解决了幻读问题,在MySQL中通过RR也能解决幻读。 但是使用间隙锁时有两个坑需要注意...

  • MySQL间隙锁、Next-Key Lock主要知识点

    总体来说,就是MySQL innoDB引擎要在RR隔离级别之下解决幻读的问题,所以引入了间隙锁。 在进行当前读的情...

  • MYSQL(04)-间隙锁详解

    间隙锁(Gap Lock)是Innodb在提交下为了解决幻读问题时引入的锁机制,(下面的所有案例没有特意强调都使用...

  • MVCC

    MVCC(多版本控制)解决幻读: 当插入的是一条新数据时,记录上对应的回滚段指针为NULL InnoDB的MVCC...

  • MySQL中的锁和并发控制

    综述 对MySQL中并发控制所用到的机制和锁进行整理。 行锁 表锁 间隙锁 临键锁 MVCC 悲观锁 乐观锁 行锁...

  • MySQL相关(一)——— 事务和锁

    事务的隔离级别和锁机制 【1】InnoDB 事务隔离级别和锁 【2】脏读、不可重复读、幻读 mysql 相关 常用...

  • [译]Innodb中的锁

    原文地址InnoDB Locking 本章节描述了InnoDB中使用的锁. 共享锁和排它锁 意向锁 记录锁 间隙锁...

  • mysql中引擎区别

    MyISAM表中的锁 MyISAM引擎中的读锁和写锁都是表锁级别的。 innoDB引擎 innodb引擎中的表锁是...

网友评论

      本文标题:innodb中幻读与mvcc和间隙锁分析

      本文链接:https://www.haomeiwen.com/subject/jllmxhtx.html