24.32.26 INFORMATION_SCHEMA INNODB_TEMP_TABLE_INFOtable
INNODB_TEMP_TABLE_INFOtable 提供有关在InnoDB
实例中处于活动状态的用户创建的InnoDB
临时 table 的信息。它不提供有关优化器使用的内部InnoDB
临时 table 的信息。 INNODB_TEMP_TABLE_INFOtable 是在第一次查询时创建的,仅存在于内存中,不会持久保存到磁盘。
有关用法信息和示例,请参见第 14.16.7 节“ InnoDB INFORMATION_SCHEMA 临时 table 信息 table”。
INNODB_TEMP_TABLE_INFOtable 具有以下列:
TABLE_ID
临时 table 的 tableID。
NAME
临时 table 的名称。
N_COLS
临时 table 中的列数。该数字包括由InnoDB
(DB_ROW_ID
,DB_TRX_ID
和DB_ROLL_PTR
)创建的三个隐藏列。
SPACE
临时 table 所在的临时 table 空间的 ID。在 5.7 中,未压缩的InnoDB
临时 table 位于共享的临时 table 空间中。共享临时 table 空间的数据文件由innodb_temp_data_file_path系统变量定义。默认情况下,共享临时 table 空间名为ibtmp1
的数据文件位于数据目录中。压缩的临时 table 位于tmpdir定义的临时文件目录中的单独的每 table 文件 table 空间中。临时 table 空间 ID 是一个非零值,该值在服务器重新启动时动态生成。
PER_TABLE_TABLESPACE
值TRUE
table 示临时 table 位于单独的每 table 文件 table 空间中。值FALSE
table 示临时 table 位于共享的临时 table 空间中。
IS_COMPRESSED
值TRUE
table 示临时 table 已压缩。
Example
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
Notes
-
该 table 主要用于 maven 级监视。
-
您必须具有PROCESS特权才能查询此 table。
-
使用
INFORMATION_SCHEMA
COLUMNStable 或SHOW COLUMNS语句查看有关此 table 列的其他信息,包括数据类型和默认值。