事务的日志

1.redo log

redo:"重做",记录的是,内存数据页的变化过程

1)作用

在事务ACID过程中,实现的是 "D" 持久化的作用。

2)工作原理

#1.修改数据时:
1)首先数据会从磁盘取出,加载到内存的data buffer page
2)操作数据,使用update语句修改数据,数据 2 变成 1
3)id=2变成id=1的变化过程会记录到redo buffer page中
4)当执行commit后,mysql会将redo buffer page中的变化过程写入磁盘的redo log中

#2.查询时:
1)执行select查询语句
2)数据 id=2 会从磁盘加载到data buffer page
3)并且将redo log中id=2变成id=1的变化过程取出到内存的redo buffer page中
4)通过data buffer page的数据和redo buffer page的变化过程,得到结果 id=1

2.undo log

原文地址:https://www.cnblogs.com/chenlifan/p/13907404.html