flush过程的类比例子
InnoDB在处理更新语句的时候,只做了写日志这一个磁盘操作。《孔乙己》里咸亨酒店掌柜用来记账的粉板,在更新内存写完redo log后,就返回给客户端,本次更新成功。
做下类比的话,掌柜记账的账本是数据文件
,记账用的粉板是日志文件(redo log)
,掌柜的记忆就是内存
。
flush过程: 就是把内存里的数据写入磁盘的过程,对应是掌柜更新账本
脏页和干净页
脏页 当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为"脏页”。
干净页 内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。
什么情况会引发数据库的flush过程
由类比例子我们可以看到以下类似关系
日志relog ⟹ \Longrightarrow ⟹