ITPub博客

首页 > 数据库 > MySQL > MySQL InnoDB脏页管理

MySQL InnoDB脏页管理

原创 MySQL 作者:guocun09 时间:2020-09-14 18:47:52 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
DBA,掌握Oracle,SQLServer,MySQL,hadoop,casscandra等数据库。喜爱深入研究数据库技术原理,擅长管理和优化工作。

注册时间:2011-10-02

  • 博文量
    164
  • 访问量
    594039