mysql8缓存_mysql8 参考手册--缓冲和缓存,InnoDB缓冲池优化

本文介绍了MySQL8中InnoDB缓冲池的工作原理,重点讨论了缓冲池的预读机制,包括线性预读和随机预读的配置参数。同时,还讲解了缓冲池的刷新策略,如自适应刷新、低水位标记和刷新邻居设置,以及如何根据工作负载调整相关参数以优化性能。
摘要由CSDN通过智能技术生成

InnoDB维护一个称为缓冲池的存储区, 用于在内存中缓存数据和索引。了解 InnoDB缓冲池的工作方式,并利用其将经常访问的数据保留在内存中,是MySQL调优的重要方面。

配置InnoDB缓冲池预取

一个预读请求是I / O请求预取的多个页面 缓冲池 异步,在期待这些页面将很快需要。这些请求将所有页面集中到一个 范围。 InnoDB使用两种预读算法来提高I / O性能:

线性预读是一种技术,该技术根据顺序访问的缓冲池中的页面来预测很快可能需要哪些页面。您可以InnoDB使用配置参数调整触发异步读取请求所需的顺序页面访问次数,从而控制何时执行预读操作 innodb_read_ahead_threshold。在添加此参数之前,InnoDB仅在读取当前扩展区的最后一页时,才计算是否对整个下一个扩展区发出异步预取请求。

配置参数 innodb_read_ahead_threshold 控制InnoDB检测顺序页面访问模式时的敏感度。如果从扩展区顺序读取的页面数大于或等于innodb_read_ahead_threshold,则 InnoDB启动整个后续扩展区 的异步预读操作。 innodb_read_ahead_threshold可以设置为0-64之间的任何值。默认值为56。值越大,访问模式检查越严格。例如,如果将值设置为48,则InnoDB 仅当顺序访问了当前扩展区中的48页时,才触发线性预读请求。如果值为8InnoDB即使依次访问扩展区中的多达8页,也会触发异步预读。您可以在MySQL 配置文件中设置此参数的值,或使用SET GLOBAL语句动态更改此参数,该 语句需要足够的权限来设置全局系统变量。请参见 第5.1.9.1节“系统变量特权”。

随机预读是一种技术,它根据缓冲池中已有的页面来预测何时可能需要使用页面,而不管这些页面的读取顺序如何。如果在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值