一文读懂undolog和redolog的区别和联系

本篇文章对小林coding进行了参考
首先大家可以大致浏览一下undolog和redolog是啥
然后,我们来看看到底他俩啥用呢?
其实这俩都是innoDB存储的日志,功能上的区别在于:

  • redolog记载的是事务提交后,可能还没来得及刷盘(只更新了buffer pool里的页)时候的数据状态,也就是说他记录的是更新后的值
  • undolog则是记载的事务开始之前,就是我没更新时候的状态,这样遇到事务执行一半宕机了的情况,我好根据这个undolog进行恢复,也就是说记录的是更新之前的值

值得注意的是,其实buffer pool里也是存在undo页的,它和数据页索引页等一样,一旦有更新操作,会被写到redolog中
一文读懂undolog和redolog的区别和联系_第1张图片

你可能感兴趣的:(redis,数据库,缓存)