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

翻译 2017年01月02日 21:35:06
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当中的日志 --- 浅析InnoDB undo log(1)

什么是Undo logUndo log是MySQL Innodb引擎的日志的一种,记录了老版本的数据。 Undo log是Innodb MVCC重要组成部分,InnoDB的MVCC就是基于Undo ...
  • lpx_cn
  • lpx_cn
  • 2016年12月19日 11:31
  • 708

InnoDB事务日志(redo log 和 undo log)详解

为了最大程度避免数据写入时io瓶颈带来的性能问题,MySQL采用了这样一种缓存机制:当query修改数据库内数据时,InnoDB先将该数据从磁盘读取到内存中,修改内存中的数据拷贝,并记录持久化在硬盘上...

InnoDB---UNDO日志与回滚

事务通过trx_rsegs_t与系统表空间和临时表空间等物理存储联系起来的方式如下: /** Rollback segments assigned to a transaction for un...
  • fly2nn
  • fly2nn
  • 2017年03月13日 19:11
  • 333

Mysql Innodb中undo-log和MVCC多版本一致性读 的实现

http://hi.baidu.com/gao_dennis/item/1f133311f50a94423a176ef5
  • fox1987
  • fox1987
  • 2014年08月03日 19:22
  • 1146

Mysql innodb undo与redo (2)

CPU与Mem,Mem与Disk一级一级的速度差别,使得我们不断寻找可以提高速度 的方式;例如,页面速度的提高:使用squid、varnish、nginx cache等页面 缓存提高页面的访问速度...

Mysql Innodb中undo-log和MVCC多版本一致性读的实现(源码分析)

Mysql Innodb中undo-log和MVCC多版本一致性读  的实现    转载▼ 转自:http://blog.sina.com.cn/s/blog_4673e...

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

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

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

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

MySQL的复制和临时表Temporary Table

当你创建临时表的时候,你可以使用temporary关键字。如:   create temporary table tmp_table(name varchar(10) not null,passwd...

MySQL的复制和临时表(Temporary Table)

当你创建临时表的时候,你可以使用temporary关键字。如:   create temporary table tmp_table(name varchar(10) not null,pass...
  • yhawaii
  • yhawaii
  • 2011年12月20日 09:59
  • 1014
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【MySQL 5.7 Reference Manual】15.4.12.1 InnoDB Temporary Table Undo Logs(InnoDB临时表Undo日志)
举报原因:
原因补充:

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