事务的原理

 

        流程:执行语句时若Buffer pool中有此条记录就执行更新,如果没有就从磁盘中取出此条记录缓存到缓冲区中更新,更新的页称之为脏页,脏负的数据记录到redolog buffer中,commit之后会将数据页的变化刷新到磁盘结构的文件中执久化的保存在磁盘中,如果刷新脏页到磁盘时,发生错误时会从redolog file 中取出,每隔一断时间会删除 redolog file

 

 

 为什么不直接将脏页数据刷新到磁盘呢?

     脏页刷新到磁盘时是io是乱序的而跟新redolog file是追加io是顺序的执行效率更快


 

posted @ 2022-12-14 22:46  Bepowerful  阅读(30)  评论(0)    收藏  举报