MySQL Status Innodb_buffer_pool_reads 数据库状态作用意思及如何正确
本站中文解释
变量
InnoDB 缓冲池读取变量(Innodb_buffer_pool_reads) 是用于显示从数据块中读取的块数,而不是从缓冲池中读取的。InnoDB 缓冲池非常重要,因为它提供了InnoDB读写和查找数据的速度的主要源。当InnoDB需要执行查询时,它会尝试从缓冲池中读取一个数据块,如果该数据块不存在,则需要从磁盘读取,从而导致性能的下降。
在提高MySQL性能的时候,InnoDB_buffer_pool_reads提供了一个简单的指标,用于查看是否可能从缓冲池中获得更多的读取效果。建议InnoDB_buffer_pool_reads这个参数应该尽可能小,一般查询比例小于磁盘IO比例,缓冲池的大小需要足够大,以满足实际内存大小,并利用innodb_buffer_pool_instances参数将缓冲池分配与多个实例,减少不同模块之间的冲突。
在MySQL中,InnoDB_buffer_pool_reads变量的设置方法也比较简单,可以使用show engine innodb status 来查看该变量的当前值:
mysql> show engine innodb statusG
*************************** 1. row ***************************
Type: InnoDB
Name:
Status:
=====================================
160519 0:39:40 INNODB MONITOR OUTPUT
=====================================
…”Innodb_buffer_pool_reads”914
…
也可以使用下面的命令来设置`innodb_buffer_pool_reads`变量的值
SET GLOBAL innodb_buffer_pool_reads=;
另外,InnoDB_buffer_pool_reads变量还可以添加到MySQL的配置文件中,如下面的代码:
[mysqld]
innodb_buffer_pool_reads=
这样,MySQL就可以在启动时自动加载该变量的值,从而提高MySQL的性能。