3.7 Redo log
Redo log记录的是物理日志,具体就是哪个表空间,哪个数据页,哪个偏移量,改了几个字节,改成什么
表空间号+数据页号+偏移量+修改几个字节的值+具体的值
3.7.1 Redo block (批处理缓存)
- Redo log不断的写入 Redo log block缓存(左上角这个粉红色的)
- 将Redo log block缓存一次性写入到 redo log文件中
3.7.2 Redo buffer (多个Redo block)
- 上面有3个redo log block构成redo buffer,先往第一个redo log block里面写,写完了往第二个写
Redo buffer刷盘时机:
- 写入redo log buffer占据redo log buffer的一半时,也就是超过8MB,就会刷到磁盘里面去
- 当事务提交的时候,如果设置参数为必须 fysnc,也会刷盘
- 后台线程定时刷新,每隔1秒就把redo log buffer里面的redo log block刷到磁盘中去
- mysql关闭的时候,redo log block都会刷入到磁盘中
3.7.3 redo log文件
redo buffer不断的往 redo log0-3刷