MySQL InnoDB Engine--数据预热

##========================================##
在MySQL 5.7版本中引入将Innodb Buffer中数据备份和回复的新特性,具体原理时将Buffer pool中LRU链表上的存放的spaceid和page id存储到文件中,在数据库恢复时,按照该文件中存放的spaceid和page id数据对应的页面加载到buffer pool中,快速预热内存,提升查询性能。

相关参数:
innodb_buffer_pool_dump_now  : 立刻做一次buffer pool  LRU dump
innodb_buffer_pool_dump_at_shutdown : 在正常关闭实例时做一次转储
innodb_buffer_pool_load_at_startup : 在启动实例时读入转储文件中记录的Page
innodb_buffer_pool_load_now : 立即做一次转储文件读入
innodb_buffer_pool_load_abort:立刻中断LOAD操作
innodb_buffer_pool_dump_pct : 表示转储每个Buffer pool instance的LRU上最热的page的百分比。通过设置该参数可以减少转储的page数。

参数innodb_buffer_pool_dump_pct在MySQL 5.7.2版本中引入,在MySQL 5.7.6及之前版本中默认值为100,而在MySQL 5.7.7及之后版本中默认值为25

在MySQL 5.6.21和MySQL 5.7.5之前的版本中,由于使用同步方式读取page到Buffer pool中,效率较低,后期版本采用异步方式加载,能明显提升加载速度。

##========================================##
摘抄自:
http://mysqllover.com/?p=1123
http://bugs.mysql.com/bug.php?id=73583

posted @ 2019-03-07 21:47  TeyGao  阅读(733)  评论(0编辑  收藏  举报