MySQL InnoDB脏页管理

来源:这里教程网 时间:2026-03-01 15:22:56 作者:

MySQL脏页管理,InnoDB中有专门列表Flush List管理刷盘。 使用Flush List主要为了让InnoDB(数据文件)尽可能保持较新状态,在系统崩溃时可以快速恢复。 Flush List大小由innodb_lru_scan_depth 决定,MySQL5.7默认1024,即16M。每秒从LRU尾部刷新脏页的数量。 脏页刷新比innodb_max_dirty_pages_pct 决定,默认是75%,即脏页达到了buffer pool的75%会刷盘。 buffer pool几个List和page的关系: buffer pool中最小单位是page,分为: Free Page:此page未被使用,位于Free List中 Clean Page:此page被使用,对应数据文件中的一个page,但page没有被修改 Dirty Page:此page被使用 ,对应数据文件中的一个page,但page被修改。此种page存在LRU List和Flush List中 参考: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.htmlMySQL DBA工作笔记(杨建荣)

相关推荐