MySQL · 特性分析 · InnoDB transaction history

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

MySQL · 特性分析 · InnoDB transaction history

Ali_冷香 2016-02-25 09:05:24 浏览1775
展开阅读全文

1. 背景

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

2. InnoDB purge概要

InnoDB是一个事务引擎,实现了MVCC特性,也就是在存储引擎里对行数据保存了多个版本。在对行数据进行delete或者update更改时,行数据的前映像会保留一段时间,直到可以被删除的时候。
在大部分OLTP负载情况下,前映像会在数据操作完成后的数秒钟内被删除掉,但在一些情况下,假设存在一些持续很长时间的事务
需要看到数据的前映像,那么老版本的数据就会被保留相当长一段时间。
虽然MySQL 5.6版本增加了多个purge threads来加快完成老版

网友评论

登录后评论
0/500
评论
Ali_冷香
+ 关注