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