首先执行器根据 MySQL 的执行计划来查询数据,先是从缓存池中查询数据,如果没有就会去数据库中查询,如果查询到了就将其放到缓存池中
在数据被缓存到缓存池的同时,会写入 undo log 日志文件
更新的动作是在 BufferPool 中完成的,同时会将更新后的数据添加到 redo log buffer 中
完成以后就可以提交事务,在提交的同时会做以下三件事
将redo log buffer中的数据刷入到 redo log 文件中
将本次操作记录写入到 bin log文件中
将 bin log 文件名字和更新内容在 bin log 中的位置记录到redo log中,同时在 redo log 最后添加 commit 标记