该INNODB_TEMP_TABLE_INFO
表提供有关在
实例InnoDB
中处于活动状态的用户创建的临时表的信息。InnoDB
它不提供有关
InnoDB
优化器使用的内部临时表的信息。该INNODB_TEMP_TABLE_INFO
表在第一次查询时创建,仅存在于内存中,不会持久化到磁盘。
有关使用信息和示例,请参阅 第 14.16.7 节,“InnoDB INFORMATION_SCHEMA 临时表信息表”。
该INNODB_TEMP_TABLE_INFO
表有以下列:
TABLE_ID
临时表的表 ID。
NAME
临时表的名称。
N_COLS
临时表中的列数。
InnoDB
该数字包括由(DB_ROW_ID
、DB_TRX_ID
和 )创建的三个隐藏列DB_ROLL_PTR
。SPACE
临时表所在的临时表空间的ID。在 5.7 中,非压缩
InnoDB
临时表驻留在共享临时表空间中。共享临时表空间的数据文件由innodb_temp_data_file_path
系统变量定义。默认情况下,名为 的共享临时表空间有一个数据文件,ibtmp1
位于数据目录中。压缩的临时表驻留在单独的文件表空间中,这些表空间位于由tmpdir
. 临时表空间 ID 是在服务器重新启动时动态生成的非零值。PER_TABLE_TABLESPACE
值
TRUE
表示临时表驻留在单独的 file-per-table 表空间中。值FALSE
表示临时表驻留在共享临时表空间中。IS_COMPRESSED
值
TRUE
表示临时表已压缩。
例子
mysql> CREATE TEMPORARY TABLE t1 (c1 INT PRIMARY KEY) ENGINE=INNODB;
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_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
笔记
该表主要用于专家级监控。
您必须具有
PROCESS
查询此表的权限。使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句查看有关此表的列的其他信息,包括数据类型和默认值。