undo log参数汇总介绍

undolog介绍:

undo log 为 MVCC事务特性的重要组成部分,对记录做了变更操作时会产生undo记录,默认存储到系统表空间中,但是从5.6开始,可以使用独立的undo表空间。

Undo记录存储的是老版本数据,当一个旧事务需要读取数据时,为了能读取到老版本数据,需要顺着undo连找到满足其可见性的记录。

大多数对记录的变更insert、update、delete。Insert操作在事务提交前只对当前事务可见,因此产生的undo日志可以在事务提交后直接删除(没有对刚插入的数据有可见性需求),而对于update、delete则需要维护多版本信息。

与undo log相关参数:

1–innodb_max_undo_log_size 1073741824
该参数控制醉倒undolog文件的大小,超过这个阈值,就会触发truncate undo logs,truncate后的undo log大小默认恢复为10MB,
生产默认1G。

2–innodb_undo_directory ./
undo文件的存储目录 (支持后期修改)

3–innodb_undo_log_truncate OFF
5.7之后支持在线删除无用的undo logs,默认是关闭的。

4–innodb_undo_logs 128 (生产使用默认值)
回滚段的数量默认是128个(最大),通过该参数可以将一个大的回滚段才分成多个小的回滚段,每个log segments最多存放128个事物。
支持后期修改,但不可以超过 Innodb_available_undo_logs 参数

5–innodb_undo_tablespaces 4(生产配置)
undo log的数量,最少为2,undo log的truncate操作有purge协调线程发起。在truncate某个undo log表空间的过程中,保证有一个可用的undo log可用。
在mysql_install_db时初始化后,就再也不能被改动了,修改该值会导致MySQL无法启动。
不支持后期修改。

6–innodb_purge_rseg_truncate_frequency 128(生产配置)
5.7之后控制回放undo log的频率,默认128.
表示purge undo轮训128次之后,进行一次undo 的truncate操作,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值