ITPub博客

首页 > 数据库 > MySQL > Innodb特性之Read-Ahead(Buffer Pool Prefetching)

Innodb特性之Read-Ahead(Buffer Pool Prefetching)

原创 MySQL 作者:guocun09 时间:2020-10-18 19:48:13 0 删除 编辑

Read-Ahead官方说明: https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-read_ahead.html


设计目的:

Read-Ahead用于异步预取buffer pool中的多个page的一个预测行为。

InnoDB使用两种提前预读Read-Ahead算法来提高I/O性能。


Linear read-ahead:线性预读

如果一个extent中的被顺序读取的page超过或者等于   innodb_read_ahead_threshold  参数变量时,Innodb将会异步的将下一个extent读取到buffer pool中,innodb_read_ahead_threshold可以设置为0-64的任何值(注:innodb中每个extent就只有64个page),默认为56。值越大,访问模式检查就越严格。

Mark:官网说会预读取下一个extent,但当前extent剩下没有取完的page也会一起读取嘛? 还不没找到说明


Random read-ahead:随机预读

如果当同一个extent中连续的13个page在buffer pool中发现时,Innodb会将该extent中的剩余page读到buffer pool中。控制参数  innodb_random_read_ahead  默认没有开启。


评估预读算法的有效性

The  SHOW ENGINE INNODB STATUS command displays statistics to help you evaluate the effectiveness of the read-ahead algorithm. Statistics include counter information for the following global status variables:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25583515/viewspace-2727692/,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2011-10-02

  • 博文量
    159
  • 访问量
    573238