【MySQL 5.7 Reference Manual】15.4.8 Undo Logs(Undo日志)

翻译 2017年01月02日 21:30:01
15.4.8 Undo Logs(Undo日志)

An undo log is a collection of undo log records associated with a single transaction. An undo log record contains information about how to undo the latest change by a transaction to a clustered index record. If another transaction needs to see the original data (as part of a consistent read operation), the unmodified data is retrieved from the undo log records. Undo logs exist within undo log segments, which are contained within rollback segments. By default, rollback segments are physically part of the system tablespace. However, rollback segments can reside in separate undo tablespaces. For more information, see Section 15.7.7, “Storing InnoDB Undo Logs in Separate Tablespaces”. For information about multi-versioning, see Section 15.3, “InnoDB Multi-Versioning”.

一个undo日志是与一次事务相关的undo日志记录的集合。一条undo日志记录所包含的信息是关于如何撤销最近通过事务对聚簇索引做出的变更。如果另一个事务需要看原始数据(作为一致性读取操作的一部分),未修改的数据会从undo日志记录取出。undo日志存在于undo日志段中,它同时也包含在回滚段中。在默认情况下,回滚段物理上是系统表空间的一部分。然而,回滚段可以驻留在单独的undo表空间中。更多信息,请参考15.7.7,“在单独的表空间中存储InnoDB Undo日志”。更多内容关于多版本,请参考15.3, “InnoDB多版本”。

InnoDB supports 128 rollback segments, 32 of which are reserved as non-redo rollback segments for temporary table transactions. Each transaction that updates a temporary table (excluding read-only transactions) is assigned two rollback segments, one redo-enabled rollback segment and one non-redo rollback segment. Read-only transactions are only assigned non-redo rollback segments, as read-only transactions are only permitted to modify temporary tables.

InnoDB支持128个回滚段,其中32个保留为临时表事务做non-redo回滚段。每一个更新临时表的事务(除了只读事务)会分配两个回滚段,一个redo-enabled回滚段和一个non-redo回滚段。只读事务只分配non-redo回滚段,因为只读事务只允许修改临时表。

This leaves 96 available rollback segments, each of which supports up to 1023 concurrent data-modifying transactions, for a total limit of approximately 96K concurrent data-modifying transactions. The 96K limit assumes that transactions do not modify temporary tables. If all data-modifying transactions also modify temporary tables, the total limit is approximately 32K concurrent data modifying transactions. For more information about rollback segments that are reserved for temporary table transactions, see Section 15.4.12.1, “InnoDB Temporary Table Undo Logs”.

这样剩下的96个可用回滚段,每一个都支持1023个的并发数据修改事务,总上限约96K个的并发数据修改事务。96K个上限是假设事务没有修改临时表。如果全部数据修改事务也修改了临时表,总上限是约32K个并发数据修改事务。更多信息关于为临时表事务保留的回滚段,请参考15.4.12.1,“InnoDB临时表Undo日志”。

The innodb_undo_logs option defines the number of rollback segments used by InnoDB.

innodb_undo_logs选项定义了InnoDB可用的回滚段数量。

相关文章推荐

【MySQL 5.7 Reference Manual】15.4.12.1 InnoDB Temporary Table Undo Logs(InnoDB临时表Undo日志)

临时表undo日志,在MySQL 5.7.2中被引入,用于存放临时表和相关对象。这种类型的undo日志不是一个redo日志,因为临时表在崩溃恢复期间不会被恢复并且不需要redo日志。然而,临时表und...

MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://hcymysql.blog.51cto.com/5223301/1575050 ...

【MySQL 5.7 Reference Manual】15.4.13 Redo Log(Redo日志)

redo日志基于磁盘的数据结构,在崩溃恢复期间用于纠正不完整事务所写入的数据。在正常操作情况下,redo日志编码请求以改变InnoDB表数据,这些数据来自于SQL语句或低级API调用的结果。如果在意外...

【MySQL 5.7 Reference Manual】15.4.3 Adaptive Hash Index(自适应哈希索引)

自适应哈希索引(AHI)使InnoDB平台看起来更像一个内存数据库(在系统负载适当并且分配给缓存池的内存充裕的情况下),且不牺牲任何事务特性或可靠性。这个特性可以在服务启动时通过innodb_adap...

【MySQL 5.7 Reference Manual】15.4.7 Doublewrite Buffer(双写缓冲)

双写缓冲是一个位于系统表空间中的存储区域,InnoDB缓冲池中刷出的页在被写入数据文件的适当位置之前会先写入这里。只有把页刷出并写入到双写缓冲之后,InnoDB才会把页写入到适当位置。假如此时操作系统...

MySQL 5.7 Reference Manual Chapter 4 Tutorial 参考手册第四章教程内容总结

MySQL 5.7 Reference Manual Chapter 4 Tutorial 参考手册第四章教程内容总结

5分钟了解MySQL5.7的undo log在线收缩新特性

①首先我们需要调整my.cnf参数 1 2 3 4 5 6 innodb_undo_directory=/data/undolog innodb_undo_ta...

【MySQL 5.7 Reference Manual】15.4.2 Change Buffer(变更缓冲)

变更缓冲是一个特殊的数据结构,当目标页不在缓冲池中时,变更缓冲负责缓存对二级索引页的变更。被缓冲的变更内容可能是INSERT,UPDATE,或DELETE操作(DML)的结果。在下一次读操作时这些页会...

MySQL 5.7 Reference Manual Chapter 13 Functions and Operators 参考手册第十三章函数与操作符内容总结

MySQL 5.7 Reference Manual Chapter 13 Functions and Operators 参考手册第十三章函数与操作符内容总结...

MySQL 5.7 Reference Manual Chapter 10 Language Structure 参考手册第十章语言结构内容总结

MySQL 5.7 Reference Manual Chapter 10 Language Structure 参考手册第十章语言结构内容总结...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【MySQL 5.7 Reference Manual】15.4.8 Undo Logs(Undo日志)
举报原因:
原因补充:

(最多只允许输入30个字)