首先執行器根據 MySQL 的執行計劃來查詢數據,先是從緩存池中查詢數據,如果沒有就會去數據庫中查詢,如果查詢到了就將其放到緩存池中
在數據被緩存到緩存池的同時,會寫入 undo log 日志文件
更新的動作是在 BufferPool 中完成的,同時會將更新后的數據添加到 redo log buffer 中
完成以后就可以提交事務,在提交的同時會做以下三件事
將redo log buffer中的數據刷入到 redo log 文件中
將本次操作記錄寫入到 bin log文件中
將 bin log 文件名字和更新內容在 bin log 中的位置記錄到redo log中,同時在 redo log 最后添加 commit 標記