MySQL · 特性分析 · InnoDB transaction history

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

MySQL · 特性分析 · InnoDB transaction history

db匠 2016-05-23 15:39:29 浏览1148
展开阅读全文

背景

在写压力负载比较重的MySQL实例上,InnoDB可能积累了较长的没有被purge掉的transaction history,导致实例性能的衰减,或者空闲空间被耗尽,下面就来看看它是怎么产生的,或者有没有什么方法来减轻,避免这样的问题出现。

InnoDB purge 概要

InnoDB是一个事务引擎,实现了MVCC特性,也就是在存储引擎里对行数据保存了多个版本。在对行数据进行delete或者update更改时,行数据的前映像会保留一段时间,直到可以被删除的时候。

在大部分OLTP负载情况下,前映像会在数据操作完成后的数秒钟内被删除掉,但在一些情况下,假设存在一些持续很长时间的事务需要看到数据的前映像,那么老版本的数据就会被保留相当长一段时间。

虽然MySQL 5.6版本增加了多个purge threads来加快完成老版本数据的清理工作

网友评论

登录后评论
0/500
评论
db匠
+ 关注
所属云栖号: 阿里云数据库ApsaraDB