我们知道mvcc可以解决快照读下的幻读问题,那么当我们出现当前读的时候,出现的幻读问题如何解决呢?
我们默认事务的隔离级别为rr(Repetable Read).
当前读的场景:
select * from table lock in share mode;
select * from table for update;
insert into table;
update table;
delete table;
当前读就会出现幻读,mysql为了解决当前读的幻读问题,引入了一个间隙锁(gap lock),也叫(Next-key lock) 是行锁的一种,可以解决当前读的幻读问题。