首页 > 数据库 > MySQL > MySQL InnoDB脏页管理
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.html
MySQL DBA工作笔记(杨建荣)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25583515/viewspace-2719531/,如需转载,请注明出处,否则将追究法律责任。