为了保证事务并发操作时,在写各自的undo log时不产生冲突,InnoDB 采用 回滚段的方式来维护 undo log 的并发写入和持久化。
rollback segment 称为 回滚段 共有 128个,每个回滚段中有1024个 undo log segment ,即 支持 128 * 1024 个 undo 操作, 最多支持 131072个并发事务执行。
undo log 有关的参数:
show variables like '%undo%';
innodb_max_undo_log_size:undo 日志文件的最大值,默认是1GB,初始化大小10M
innodb_undo_log_truncate: 表示是否开启自动收缩 undo log 表空间的操作
innodb_undo_tablespaces:设置独立表空间的个数,默认是 0 表示不开启独立表空间 undo 日志保存在 ibdata中
innodb_undo_directory: undo 日志存储的目录位置
innodb_undo_logs: 回滚段的个数 默认 128