加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL innodb buffer 状态数据的保存和载入

发布时间:2022-03-29 19:00:57 所属栏目:MySql教程 来源:互联网
导读:本文参考官方手册 原创转载请注明出处 当数据库重启后,buffer中的数据需要重新预热,所谓预热就是等待常用数据通过用户调用SQL语句从磁盘载入到内存, 这个过程ORACLE中叫做物理读取,对于较大的平台这个预热过程往往需要较大的代价,典型的就是第一次运
      本文参考官方手册
     原创转载请注明出处
  
     当数据库重启后,buffer中的数据需要重新预热,所谓预热就是等待常用数据通过用户调用SQL语句从磁盘载入到内存,
     这个过程ORACLE中叫做物理读取,对于较大的平台这个预热过程往往需要较大的代价,典型的就是第一次运行一个select
     语句很慢,过后再次执行就很快了。
     对于这种情况innodb默认在关闭和启动的时候都会保存和加载状态数据,由参数
innodb_buffer_pool_load_at_startup

innodb_buffer_pool_dump_at_shutdown
进行控制,默认都是on的
其保存比率由参数控制
innodb_buffer_pool_dump_pct
默认为25%
而其文件由参数
innodb_buffer_pool_filename控制默认为:
mysql> show variables like '%innodb_buffer_pool_filename%';
+-----------------------------+----------------+
| Variable_name               | Value          |
+-----------------------------+----------------+
| innodb_buffer_pool_filename | ib_buffer_pool |
+-----------------------------+----------------+
这个文件在innodb数据文件目录下,其中保存的是space_no,page_no形式如下:
545,213
545,212
545,211
545,210
545,209
545,208
545,207
......
  
在线情况下可以使用如下语句:
SET GLOBAL innodb_buffer_pool_dump_now=ON;
SET GLOBAL innodb_buffer_pool_load_now=ON;
进行dump和load,并且可以通过
SHOW STATUS LIKE 'Innodb_buffer_pool_dump_status';

SHOW STATUS LIKE 'Innodb_buffer_pool_load_status';
查看dump和load的情况 。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!