数据库 · 单选题 · 第 42 题
计算机基础面试八股 · 第 42 题
InnoDB 中 undo log 的主要作用是?
- A记录数据变更,用于主从之间的复制
- B崩溃后重做已经提交事务的修改
- C记录执行时间超过阈值的慢查询 SQL
- D支持事务回滚,并为 MVCC 提供历史版本
答案
D D. 支持事务回滚,并为 MVCC 提供历史版本
解析
undo log 记录修改前的值,事务回滚时据此恢复,MVCC 读旧版本也是沿着 undo log 链往回找。主从复制用 binlog,崩溃后重做已提交事务用 redo log,慢 SQL 记在慢查询日志里。长事务会让 undo log 无法清理,导致空间膨胀。