执行update语句

    方式一:
    1、修改buffer pool 里面的页数据—-脏页
    2、update语句—-> 生成一个redo log
    3、redo log 持久化
    4、修改成功

    方式二:
    1、修改buffer pool里面的页数据—脏页
    2、修改磁盘中的页数据
    3、修改成功

    方式一和方式二相比,方式一的效率更高,因为还没有设计到将修改的数据直接存到磁盘,而是先放到redo log日志里面。
    如果此时mysql挂掉之后,方式一怎么办呢?此时将磁盘的东西存放到内存后会根据redo log进行恢复。

    image.png