执行update语句
方式一:
1、修改buffer pool 里面的页数据—-脏页
2、update语句—-> 生成一个redo log
3、redo log 持久化
4、修改成功
方式二:
1、修改buffer pool里面的页数据—脏页
2、修改磁盘中的页数据
3、修改成功
方式一和方式二相比,方式一的效率更高,因为还没有设计到将修改的数据直接存到磁盘,而是先放到redo log日志里面。
如果此时mysql挂掉之后,方式一怎么办呢?此时将磁盘的东西存放到内存后会根据redo log进行恢复。