mysql repeatable-read事务级别是使用事务级别快照吗
时间: 2023-12-31 07:05:53 浏览: 90
MySQL的四种事务隔离级别
是的,MySQL中的REPEATABLE READ事务级别使用的是事务级别快照。在REPEATABLE READ事务级别下,MySQL会在事务开始时创建一个快照,该快照用于记录当前事务开始时数据库中所有数据的状态。在事务执行过程中,如果有其他事务对数据库进行了修改,则REPEATABLE READ事务级别下的事务不会看到这些修改,而是始终看到事务开始时的快照数据。
快照是通过MVCC技术实现的,MySQL会为每个事务分配一个唯一的事务ID(Transaction ID),并在每个数据行中记录该数据行最后一次修改的事务ID。在REPEATABLE READ事务级别下,事务只会看到在它开始之前已经提交的事务所做的修改,并通过快照机制来实现数据的一致性和隔离性。
因此,REPEATABLE READ事务级别使用的是事务级别快照,而不是行级快照。行级快照是在某个时间点对某些行进行备份,而事务级别快照是在事务开始时对整个数据库进行备份,用于实现REPEATABLE READ事务级别下的数据隔离。
阅读全文