Innodb实现事务流程

发布时间 2023-04-24 11:08:41作者: {小小胡}

Innodb通过Buffer Pool,LogBuffer,Redo Log,Undo Log来实现事务,以update语句为例:

  1. Innodb在收到update语句后,会先根据条件找到数据所在⻚,并将该⻚缓存在Buffer Pool
  2. 执⾏update语句,修改Buffer Pool中的数据
  3. 针对update语句⽣成⼀个RedoLog对象,并存⼊LogBuffer
  4. 针对update语句⽣成undolog⽇志,⽤于事务回滚
  5. 如果事务提交,那么则把RedoLog对象进⾏持久化,后续还有其他机制将Buffer Pool中所修改的数据⻚持久化到磁盘
  6. 如果事务回滚,则利⽤undolog⽇志进⾏回滚