ITPub博客

首页 > 数据库 > MySQL > MySQL innodb buffer pool 命中率以及缓存了哪些 InnoDB Table

MySQL innodb buffer pool 命中率以及缓存了哪些 InnoDB Table

原创 MySQL 作者:张冲andy 时间:2023-10-28 19:26:35 0 删除 编辑

本文适用于 MySQL服务器-版本5.7及更高版本

逻辑I/O比物理I/O快很多倍。因此,DBA应该努力将物理I/O保持在最低水平。

当数据被很好地缓存时,总的系统吞吐量是未被很好地缓存时的许多倍,这并不罕见,对于具有高负载或严格的服务质量目标的系统来说,出色的缓存命中率是非常需要的。

InnoDB缓冲区缓存的命中率

公式:100 * (1 - (innodb_buffer_pool_reads/innodb_buffer_pool_read_requests ))

注意: 对于具有大型缓冲池的系统,既要关注该比率,也要关注OS页面读写速率的变化可以更好地跟踪差异。

我们如何找出哪些InnoDB表缓存在innodb buffer pool中呢?

使用sys模式可以发现缓冲池(sys模式)中缓存了多少页的表( 从MySQL Server 5.7开始,它是默认安装的)。 要使用的查询是: SELECT * FROM sys.innodb_buffer_stats_by_table;


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

请登录后发表评论 登录
全部评论
支持就关注我个人公众号:DBA烂笔头 。专注数据库领域,熟悉oracle、mysql、redis、mongodb,clickhouse等相关技术

注册时间:2016-08-11

  • 博文量
    626
  • 访问量
    286347