NoteDeep
本页讨论
  • 回滚日志undo log是什么?
  • 独立的Undo 表空间

回滚日志

回滚日志undo log 是与事务关联的undo log记录的集合。当我们对记录做了变更操作时就会产生undo记录,Undo记录默认被记录到系统表空间(ibdata)中,但从5.6开始,也可以使用独立的Undo 表空间。

回滚日志记录包含有关如何回滚事务对聚集索引记录的最新更改的信息。如果另一个事务需要查看原始版本的数据(快照读),则会从undo log记录中检索原始版本的数据。




InnoDB支持128个回滚段,每个段最多支持1023个并发数据修改事务,总共限制大约128K个并发数据修改事务(只读事务不计入最大限制)。每个事务都被分配到其中一个回滚段,并在该持续时间内与该回滚段保持关联。 innodb_rollback_segments选项定义了InnoDB使用的回滚段数。

undo tablespaces (独立的回滚表空间)

可以配置undo log存放在独立的undo tablespaces里面。配置单独的undo tablespaces时,系统表空间中的回滚段将失效。
undo tablespaces由一个或多个回滚日志文件组成。

innodb_undo_tablespaces
这个值也对应undo log文件的个数,每个undo log文件代表一个独立的回滚表空间。

innodb_undo_directory
undo tablespaces文件的存放目录

innodb_rollback_segments
定义回滚段的总数量。innodb_rollback_segments的默认设置为128,这也是最大值。







评论列表

    回滚日志
    undo tablespaces (独立的回滚表空间)