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 的 tableID。

临时 table 的名称。

临时 table 中的列数。该数字包括由InnoDB(DB_ROW_IDDB_TRX_IDDB_ROLL_PTR)创建的三个隐藏列。

临时 table 所在的临时 table 空间的 ID。在 5.7 中,未压缩的InnoDB临时 table 位于共享的临时 table 空间中。共享临时 table 空间的数据文件由innodb_temp_data_file_path系统变量定义。默认情况下,共享临时 table 空间名为ibtmp1的数据文件位于数据目录中。压缩的临时 table 位于tmpdir定义的临时文件目录中的单独的每 table 文件 table 空间中。临时 table 空间 ID 是一个非零值,该值在服务器重新启动时动态生成。

TRUEtable 示临时 table 位于单独的每 table 文件 table 空间中。值FALSEtable 示临时 table 位于共享的临时 table 空间中。

TRUEtable 示临时 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

首页