InnoDB 日志体系

一条 UPDATE 的日志旅程:undo 回滚 / redo 恢复 / binlog 复制,两阶段提交是纽带。

InnoDB 日志体系
第 01 / 7 步
一条 UPDATE 的完整旅程:Buffer Pool 修改 → 三种日志各司其职 → 两阶段提交 → 脏页刷盘。 比较 0 · 交换 0
伪代码

				
					
					1
					-- UPDATE account SET balance = balance - 100
				
			
				
					
					2
					① Buffer Pool: 加载页 → 修改内存页
				
			
				
					
					3
					② undo log: 记录旧值(回滚 + MVCC 读旧版本)
				
			
				
					
					4
					③ redo log buffer: 记录物理变更(崩溃恢复)
				
			
				
					
					5
					④ binlog: 记录逻辑变更(复制/归档)
				
			
				
					
					6
					⑤ 两阶段提交: redo prepare → binlog write → redo commit
				
			
				
					
					7
					⑥ 后台线程择机把脏页刷回磁盘
				
			
01 / 7
速度