Mysql隔离性之一致性非锁定读
一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(MVCC)读取当前数据库中行数据的方式。如果读取的行是正在执行delete or update操作,这时读取操作不会因此去等待行上锁的释放。相反地,InnoDB会去读取行的一个快照版本。
如上图所示:当会话B提交事务之后,会话A会再次运行SELECT * FROM TEST WHERE ID = 1的SQL语句时,两个事务在隔离级别RR下得到的结果不一致。
MVCC在mysql中的实现是依赖于undo log和read view。