【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表的限制”。

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

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

MySQL InnoDB存储引擎undo redo解析

本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo L...
  • hustyangju
  • hustyangju
  • 2014年10月15日 15:14
  • 1869

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
  • 1099

InnoDB---UNDO日志与回滚

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

mysql_Innodb的undo_log和redo_log

众所周知,mysql支持多种存储引擎,现在常用的是MyISAM和InnoDB。MyISAM相对简单,但不支持事务,而InnoDB是事务安全型的。而InnoDB的事务处理离不开undo_log和redo...
  • chenlvzhou
  • chenlvzhou
  • 2014年10月28日 11:26
  • 2352

MySQL · 引擎特性 · InnoDB undo log 漫游

原文:http://mysql.taobao.org/monthly/2015/04/01/ 本文是对整个Undo生命周期过程的阐述,代码分析基于当前最新的MySQL5.7版本。本文也可以作为了...
  • qiuyepiaoling
  • qiuyepiaoling
  • 2015年04月22日 15:09
  • 551

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

1. 背景 InnoDB存储引擎中,undo在完成事务回滚和MVCC之后,就可以purge掉了,但undo在事务执行过程中,进行的空间分配如何回收,就变成了一个问题。 我们亲历用户的小实例,因为一个大...
  • gua___gua
  • gua___gua
  • 2016年09月27日 10:02
  • 1285

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

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://suifu.blog.51cto.com/9167728/1856837 ...
  • carry9148
  • carry9148
  • 2016年10月11日 13:06
  • 619

mysql 5.7 undo truncate 功能

mysql> select version() ; +-------------------------------------------+ | version()                 ...
  • wll_1017
  • wll_1017
  • 2017年03月30日 10:57
  • 721

InnoDB 事务管理页的结构, 包括rollback segment和undo log页

1. 每个事务开始时,都会分配一个ROLLBACK SEG给这个事务(即trx_sys_struct->rseg_array[]数组中的一个元素, 这个数组中的元素由链表[trx_sys->rseg_...
  • zwleagle
  • zwleagle
  • 2014年09月02日 19:28
  • 1145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【MySQL 5.7 Reference Manual】15.4.12.1 InnoDB Temporary Table Undo Logs(InnoDB临时表Undo日志)
举报原因:
原因补充:

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