该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官: Innodb的事务与日志的实现方式
以下是InnoDB事务和日志的实现方式的详细说明:
-
事务日志(Transaction Log):
- InnoDB使用事务日志来保证事务的持久性,并在崩溃恢复时恢复数据库到一致的状态。
- 事务日志分为两部分:重做日志(Redo Log)和撤销日志(Undo Log)。
-
重做日志(Redo Log):
- 重做日志是InnoDB中最重要的日志类型,用于记录事务对数据库进行的修改操作。
- 重做日志是顺序写入的,将事务的修改操作记录下来,而不是直接写入到磁盘上的数据页。
- 重做日志的主要作用是在崩溃恢复时,通过重新执行重做日志中的操作,将数据库恢复到崩溃前的状态。
-
撤销日志(Undo Log):
- 撤销日志用于记录事务的逆操作,即事务对数据库的修改操作的撤销操作。
- 撤销日志的作用是在事务回滚或并发控制需要读取旧版本数据时,通过撤销日志将数据恢复到事务开始前的状态。
-
事务的执行过程:
- 在