### 26.4.24 信息\_SCHEMA INNODB\_表空间表

[](<>)

这[`INNODB_TABLESPACES`](information-schema-innodb-tablespaces-table.html)表提供有关的元数据`InnoDB`file-per-table、general 和 undo 表空间。

有关相关使用信息和示例，请参阅[第 15.15.3 节，“InnoDB 信息\_SCHEMA 模式对象表”](innodb-information-schema-system-tables.html).

笔记

这`INFORMATION_SCHEMA` [`文件`](information-schema-files-table.html)表报告元数据`InnoDB`表空间类型包括file-per-table表空间、通用表空间、系统表空间、全局临时表空间和撤消表空间。

这[`INNODB_TABLESPACES`](information-schema-innodb-tablespaces-table.html)表有这些列：

-   `空间`

    表空间 ID。

-   `姓名`

    架构（数据库）和表名。

-   `旗帜`

    一个数值，表示有关表空间格式和存储特性的位级信息。

-   `ROW_FORMAT`

    表空间行格式 (`紧凑或冗余`,`动态的`要么`压缩`， 要么`撤消`）。此列中的数据是根据驻留在数据文件中的表空间标志信息解释的。

    无法从该标志信息中确定表空间行格式是否为`多余的`要么`袖珍的`，这就是为什么其中一种可能`ROW_FORMAT`值是`紧凑或冗余`.

-   `页面大小`

    表空间页面大小。此列中的数据是从驻留在[`.ibd`文件](glossary.html#glos_ibd_file).

-   `ZIP_PAGE_SIZE`

    表空间 zip 页面大小。此列中的数据是从驻留在[`.ibd`文件](glossary.html#glos_ibd_file).

-   `空间类型`

    表空间的类型。可能的值包括`一般的`对于一般表空间，`单身的`对于每表文件表空间，`系统`对于系统表空间，以及`撤消`用于撤消表空间。

-   `FS_BLOCK_SIZE`

    文件系统块大小，即用于打孔的单位大小。本栏目属于`InnoDB` [透明页面压缩](innodb-page-compression.html)特征。

-   `文件大小`

    文件的表观大小，表示文件的最大大小，未压缩。本栏目属于`InnoDB` [透明页面压缩](innodb-page-compression.html)特征。

-   `ALLOCATED_SIZE`

    文件的实际大小，即磁盘上分配的空间量。本栏目属于`InnoDB` [透明页面压缩](innodb-page-compression.html)特征。

-   `AUTOEXTEND_SIZE`

    表空间的自动扩展大小。此列是在 MySQL 8.0.23 中添加的。

-   `SERVER_VERSION`

    创建表空间的 MySQL 版本，或导入表空间的 MySQL 版本，或上次主要 MySQL 版本升级的版本。该值不会因版本系列升级而改变，例如从 MySQL 8.0 升级。*`x`*到 8.0。*`是的`*.该值可以被认为是表空间的“创建”标记或“认证”标记。

-   `空间版本`

    表空间版本，用于跟踪表空间格式的变化。

-   `加密`

    表空间是否加密。此列是在 MySQL 8.0.13 中添加的。

-   `状态`

    表空间状态。此列是在 MySQL 8.0.14 中添加的。

    对于每表文件和通用表空间，状态包括：

    -   `普通的`: 表空间正常且活跃。

    -   `丢弃`: 表空间被[`ALTER TABLE ... 丢弃表空间`](alter-table.html)陈述。

    -   `损坏的`: 表空间由`InnoDB`腐败。

        对于撤消表空间，状态包括：

    -   `积极的`：undo表空间中的回滚段可以分配给新事务。

    -   `不活跃`：撤销表空间中的回滚段不再被新事务使用。截断过程正在进行中。撤消表空间要么被清除线程隐式选择，要么被[`ALTER UNDO TABLESPACE ... 设置为非活动`](alter-tablespace.html)陈述。

    -   `空的`：撤消表空间被截断，不再处于活动状态。它已准备好被删除或再次激活[`ALTER UNDO TABLESPACE ... 设置为非活动`](alter-tablespace.html)陈述。

#### 例子

```
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE = 26\G
*************************** 1. row ***************************
         SPACE: 26
          NAME: test/t1
          FLAG: 0
    ROW_FORMAT: Compact or Redundant
     PAGE_SIZE: 16384
 ZIP_PAGE_SIZE: 0
    SPACE_TYPE: Single
 FS_BLOCK_SIZE: 4096
     FILE_SIZE: 98304
ALLOCATED_SIZE: 65536
AUTOEXTEND_SIZE: 0
SERVER_VERSION: 8.0.23
 SPACE_VERSION: 1
    ENCRYPTION: N
         STATE: normal
```

#### 笔记

-   你必须拥有[`过程`](privileges-provided.html#priv_process)查询此表的权限。

-   使用`INFORMATION_SCHEMA` [`列`](information-schema-columns-table.html)表或[`显示列`](show-columns.html)语句以查看有关此表的列的其他信息，包括数据类型和默认值。
