【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...

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

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

【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.7 Doublewrite Buffer(双写缓冲)

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

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

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

MySQL日志——Undo | Redo

原文链接点击此处 本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB...

MySQL日志——Undo | Redo

原文地址点击此处 本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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