MySQL 5.7版本说明
的INNODB_TEMP_TABLE_INFO
该表提供了用户创建的信息InnoDB
类中活动的临时表InnoDB
实例。它不提供内部信息InnoDB
优化器使用的临时表。的INNODB_TEMP_TABLE_INFO
表在第一次查询时创建,仅存在于内存中,不持久化到磁盘。
有关用法信息和示例,请参见章节14.16.7,“InnoDB INFORMATION_SCHEMA临时表信息表”.
的INNODB_TEMP_TABLE_INFO
表有这些列:
TABLE_ID
临时表的表ID。
的名字
临时表的名称。
N_COLS
临时表中的列数。该数字包括由
InnoDB
(DB_ROW_ID
,DB_TRX_ID
,DB_ROLL_PTR
).空间
临时表所在的临时表空间ID。在5.7中,非压缩
InnoDB
临时表驻留在共享临时表空间中。共享临时表空间的数据文件由innodb_temp_data_file_path
系统变量。默认情况下,共享临时表空间有一个单独的数据文件ibtmp1
,该目录位于data目录下。压缩的临时表驻留在单独的表文件空间中,该表空间位于定义的临时文件目录中tmpdir
.临时表空间ID是非零值,在服务器重新启动时动态生成。PER_TABLE_TABLESPACE
值为
真正的
指示临时表驻留在单独的文件-表空间中。值为假
表示临时表位于共享临时表空间中。IS_COMPRESSED
值为
真正的
表示压缩临时表。
例子
创建临时表t1 (c1 INT PRIMARY KEY)mysql> SELECT * FROM INFORMATION_SCHEMAINNODB_TEMP_TABLE_INFO\G *************************** 1. row *************************** TABLE_ID: 38 NAME: #sql26cf_6_0 N_COLS: 4 SPACE: 52 PER_TABLE_TABLESPACE: FALSE IS_COMPRESSED: FALSE