一致性非读锁定
是指InnoDB存储引擎通过行多版本控制的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行delete或update操作,这时读操作不会因此去等待行上锁的释放。相反的会去读取行的一个快照数据。(快照数据是指该行的之前版本的数据,该实现是通过undo段来完成)。
非锁定读机制极大地提高了数据库的并发性,是InnoDB存储引擎的默认的读取操作。
不同事务隔离级别下
在不同的事务隔离级别下,读取方式不同,并不是在每个事务隔离级别下都是采用非锁定的一致性读。
在事务隔离级别 Read committed下,非一致性读总是读取被锁定行的最新一份快照数据。
在Repeatable Read 事务隔离级别下,总是读取事务开始时的行数据本版。