Documentation Home
MySQL 8.0 参考手册  / 第 26 章 INFORMATION_SCHEMA 表  / 26.4 INFORMATION_SCHEMA InnoDB 表  /  24.4.27 INFORMATION_SCHEMA INNODB_TEMP_TABLE_INFO 表

24.4.27 INFORMATION_SCHEMA INNODB_TEMP_TABLE_INFO 表

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_IDDB_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语句查看有关此表的列的其他信息,包括数据类型和默认值。