GreatSQL社区

搜索

chongzh

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

chongzh 已有 752 次阅读2023-10-28 19:10 |个人分类:Mysql 原理|系统分类:原理&产品解读

本文适用于 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;


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-1 05:21 , Processed in 0.012811 second(s), 8 queries , Redis On.
返回顶部