MySQL Innodb Purge简介

  1. 云栖社区>
  2. 博客>
  3. 正文

MySQL Innodb Purge简介

悟道之客 2018-09-29 11:09:57 浏览2418
展开阅读全文

前言

为什么MySQL InnoDB需要Purge操作?明确这个问题的答案,首先还得从InnoDB的并发机制开始。为了更好的支持并发,InnoDB的多版本一致性读是采用了基于回滚段的的方式。另外,对于更新和删除操作,InnoDB并不是真正的删除原来的记录,而是设置记录的delete mark为1。因此为了解决数据Page和Undo Log膨胀的问题,需要引入purge机制进行回收。下面我们来描述下purge整个过程。(代码分析基于MySQL 5.7)

Purge数据产生的背景

  • Undo log和Undo history list
  • Mark deleted数据

Undo log

Undo log保存了记录修改前的镜像。在InnoDB存储引擎中,undo log分为:

  • insert undo log
  • update undo log

insert und

网友评论

登录后评论
0/500
评论
悟道之客
+ 关注