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

15.4.12.1 InnoDB Temporary Table Undo Logs (InnoDB临时表Undo日志)

Temporary table undo logs, introduced in MySQL 5.7.2, are used for temporary tables and related objects. This type of undo log is not a redo log, as temporary tables are not recovered during crash recovery and do not require redo logs. Temporary table undo logs are, however, used for rollback while the server is running. This special type of non-redo undo log benefits performance by avoiding redo logging I/O for temporary tables and related objects. Temporary table undo logs reside in the temporary tablespace. The default temporary tablespace file, ibtmp1, is located in the data directory by default and is always recreated on server startup. A user defined location for the temporary tablespace file can be specified by setting innodb_temp_data_file_path.

临时表undo日志,在MySQL 5.7.2中被引入,用于存放临时表和相关对象。这种类型的undo日志不是一个redo日志,因为临时表在崩溃恢复期间不会被恢复并且不需要redo日志。然而,临时表undo日志在服务运行时被用于回滚。这种特殊类型的non-redo undo日志通过避免临时表及其相关对象的redo日志I/O来提升性能。临时表undo日志驻留在临时表空间中。在默认情况下,默认的临时表空间文件ibtmp1位于数据目录中且总是在服务启动时被重建。用户可以通过设置innodb_temp_data_file_path来指定临时表空间文件的位置。

32 rollback segments are reserved for temporary table undo logs for transactions that modify temporary tables and related objects, which means that the maximum number of rollback segments available for data-modifying transactions that generate undo records is 96. With 96 available rollback segments, the limit on concurrent data-modifying transactions is 96K. For more information, see Section 15.3, “InnoDB Multi-Versioning” and Section 15.8.8, “Limits on InnoDB Tables”.

32个回滚段被保留用于临时表事务(修改临时表及其相关对象) undo日志,这意味可用于数据修改事务的回滚段的最大数量是96个。96个可用回滚段,并发数据修改事务的限制就是96K。更多信息,请参考15.3,“InnoDB多版本”和15.8.8,“InnoDB表的限制”。

你可能感兴趣的:(Mysql)