MySQL5.7:崩溃恢复“”优化“” 所带来的3例退化

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MySQL5.7:崩溃恢复“”优化“” 所带来的3例退化

zhaiwx_yinfeng 2017-08-06 20:54:18 浏览2817
展开阅读全文

背景

在MySQL5.7之前的版本中,每次崩溃恢复时都需要打开数据目录下所有的ibd文件,校验其有效性并内存中创建表空间链表。当表的数量特别多的时候, 会严重影响到崩溃恢复的性能。

为了解决这个问题,MySQL5.7版本中增加了新的日志类型MLOG_FILE_NAME及MLOG_CHECKPOINT。前者记录了被修改后的Ibd文件名,后者记录了最近一次checkpoint的LSN点。通过扫描Redo日志,InnoDB可以找到在最近一次checkpoint之后修改过的数据文件,这样在崩溃恢复时就无需打开所有的表空间。

但据我所知,这个特性至少引入了三个问题。以下简单为大家分享下

Log Parse Buffer溢出(bug#83245)

第一个问题是在做checkpoint时,会在一个mtr里将这期间修改的文件名记录到redo中,如果涉及的文

网友评论

登录后评论
0/500
评论
zhaiwx_yinfeng
+ 关注
所属团队号: 阿里云数据库ApsaraDB