mysql面试题48:MySQL中 Innodb的事务与日志的实现方式-LMLPHP

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点

面试官: Innodb的事务与日志的实现方式

以下是InnoDB事务和日志的实现方式的详细说明:

  1. 事务日志(Transaction Log):

    • InnoDB使用事务日志来保证事务的持久性,并在崩溃恢复时恢复数据库到一致的状态。
    • 事务日志分为两部分:重做日志(Redo Log)和撤销日志(Undo Log)。
  2. 重做日志(Redo Log):

    • 重做日志是InnoDB中最重要的日志类型,用于记录事务对数据库进行的修改操作。
    • 重做日志是顺序写入的,将事务的修改操作记录下来,而不是直接写入到磁盘上的数据页。
    • 重做日志的主要作用是在崩溃恢复时,通过重新执行重做日志中的操作,将数据库恢复到崩溃前的状态。
  3. 撤销日志(Undo Log):

    • 撤销日志用于记录事务的逆操作,即事务对数据库的修改操作的撤销操作。
    • 撤销日志的作用是在事务回滚或并发控制需要读取旧版本数据时,通过撤销日志将数据恢复到事务开始前的状态。
  4. 事务的执行过程:

10-17 13:40