mysql:undo log和redo log
undo log记录的是数据修改前的旧值,用于事务回滚和MVCC(多版本并发控制)。
比如有一个事务,要修改id=1的记录
begin;
update account set balance=50 where id=1;
执行update时,会先记录undo log再修改数据。这样,如果执行rollback,就会根据undo log恢复数据。
mvcc用于实现读写并发时,不加锁也能读到历史数据,即快照读。
redo log用于记录数据页做过什么修改,崩溃恢复。
浙公网安备 33010602011771号