现在,事务A将余额修改为200,创建日志的新行,并且roll_pointer指向旧行。
在事务A提交之前,事务B读取余额数据。...这种机制允许并发事务同时读取数据,而不会堵塞其他事务
小结
MySQL 的 MVCC(多版本并发控制)机制主要包含以下几个方面:
行版本(Version):MySQL 为每行记录维护多个版本,每个版本都有唯一的版本号...事务ID(Trx ID):每个事务开始时,会分配一个唯一的事务ID,用于标识事务在时间轴上的位置。...时间轴位置判断:事务需要判断其他版本的事务ID是否早于自己,以判断其是否可见。如果早于自己,说明其已提交,自己可见;否则,不可见。...所有版本都可见
所以,MySQL MVCC 通过行版本和时间轴判断来控制并发事务间的隔离和一致性,这是MySQL并发控制的基石。