Buffer Pool(缓冲池)

MySQL 中数据是以页为单位,你查询一条记录,会从硬盘把一页的数据加载出来,加载出来的数据叫数据页,会放入到 Buffer Pool 中。 后续的查询都是先从 Buffer Pool 中找,没有命中再去硬盘加载,这样可以减少硬盘 IO 开销,提升性能。

更新表数据的时候,也是如此,发现 Buffer Pool 里存在要更新的数据,就直接在 Buffer Pool 里更新。 然后会把“在某个数据页上做了什么修改”记录到重做日志缓存(redolog buffer)里,接着刷盘到 redolog文件里。