该 INNODB_TABLESPACES
表提供了关于 InnoDB
文件每表、通用和撤销表空间的元数据。
有关相关使用信息和示例,请参阅 第 17.15.3 节,“InnoDB INFORMATION_SCHEMA 模式对象表”。
该 INFORMATION_SCHEMA
FILES
表报告了 InnoDB
表空间类型的元数据,包括文件每表表空间、通用表空间、系统表空间、全局临时表空间和撤销表空间。
该 INNODB_TABLESPACES
表具有以下列:
-
SPACE
表空间 ID。
-
NAME
模式(数据库)和表名。
-
FLAG
表示表空间格式和存储特征的位级信息的数字值。
-
ROW_FORMAT
表空间行格式(紧凑或冗余、动态或压缩、撤销)。该列中的数据来自表空间标志信息,该信息驻留在数据文件中。
无法从该标志信息确定表空间行格式是否为冗余或紧凑,这就是为什么可能的
ROW_FORMAT
值之一是紧凑或冗余。 -
PAGE_SIZE
表空间页大小。该列中的数据来自表空间标志信息,该信息驻留在
.ibd
文件 中。 -
ZIP_PAGE_SIZE
表空间 zip 页大小。该列中的数据来自表空间标志信息,该信息驻留在
.ibd
文件 中。 -
SPACE_TYPE
表空间类型。可能的值包括
General
用于通用表空间、Single
用于文件每表表空间、System
用于系统表空间和Undo
用于撤销表空间。 -
FS_BLOCK_SIZE
文件系统块大小,该大小用于 hole punching。这一列与
InnoDB
透明页压缩 功能相关。 -
FILE_SIZE
文件的明显大小,该大小表示文件的最大大小,未压缩。这一列与
InnoDB
透明页压缩 功能相关。 -
ALLOCATED_SIZE
文件的实际大小,该大小表示磁盘上分配的空间。这一列与
InnoDB
透明页压缩 功能相关。 -
AUTOEXTEND_SIZE
表空间的自动扩展大小。
-
SERVER_VERSION
创建表空间的 MySQL 版本,或者将表空间导入到的 MySQL 版本,或者最后一个主要 MySQL 版本升级的版本。该值在发布系列升级中不变,例如从 MySQL 8.0.
x
到 8.0.y
。该值可以被认为是表空间的“创建”标记或“认证”标记。 -
SPACE_VERSION
表空间版本,用于跟踪表空间格式的更改。
-
ENCRYPTION
表空间是否加密。
-
STATE
表空间状态。
对于文件每表和通用表空间,状态包括:
-
normal
: 表空间是正常的且活动的。 -
discarded
: 表空间被ALTER TABLE ... DISCARD TABLESPACE
语句所弃用。 -
corrupted
: 表空间被InnoDB
识别为损坏的。
对于撤销表空间,状态包括:
-
active
: 撤销表空间中的回滚段可以被分配给新事务。 -
inactive
: 撤销表空间中的回滚段不再被新事务使用。截断进程正在进行中。撤销表空间要么被purge线程隐式选择,要么被ALTER UNDO TABLESPACE ... SET INACTIVE
语句所使不活动。 -
empty
: 撤销表空间被截断且不再活动。它准备好被删除或通过ALTER UNDO TABLESPACE ... SET INACTIVE
语句重新激活。
-
示例
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.1.0
SPACE_VERSION: 1
ENCRYPTION: N
STATE: normal
注意
-
您必须拥有
PROCESS
权限来查询该表。 -
使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句来查看该表的列的更多信息,包括数据类型和默认值。