一致性的非锁定读(consisten nonlocking read)是指innodb存储引擎通过行多版本控制(multi versioning)的方式来读取当前行时间数据库中行的数据
innodb的读又分为快照读和当前读,其中select操作基本上是快照读,不加锁,
当前读则包括:insert/update/delete以及select---for update和select---in share mode,当前读是要加锁的,根据隔离级别的不同,所加的锁也不同
在事务隔离级别READ COMMITTED和REPEATABLE READ(innodb存储引擎的默认事务隔离级别)下,innodb存储引擎使用非锁定的一致性读。然而,对于快照数据的定义却不相同。在READ COMMITTED事务隔离级别下,对于快照数据,非一致性读总是读取被锁定行的最新一份快照数据。而在REPEATABLE READ事务隔离级别下,对于快照数据,非一致性读总是读取事务开始时的行数据版本
时间: 2024-10-28 13:50:56