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

2023年 10月 30日 108.7k 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;

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论