INNODB_TABLESPACES 表提供了有关 InnoDB 文件每表、常规和撤消表空间的元数据。
有关相关使用信息和示例,请参见 第 17.15.3 节 “InnoDB INFORMATION_SCHEMA 模式对象表”。
INFORMATION_SCHEMA FILES 表报告 InnoDB 表空间类型的元数据,包括文件每表表空间、常规表空间、系统表空间、全局临时表空间和撤消表空间。
INNODB_TABLESPACES 表包含以下列:
SPACE表空间 ID。
NAME模式(数据库)和表名。
FLAG一个数值,表示有关表空间格式和存储特征的位级信息。
ROW_FORMAT表空间行格式(
Compact或Redundant、Dynamic或Compressed,或Undo)。此列中的数据是从驻留在数据文件中的表空间标志信息解释的。无法从该标志信息中确定表空间行格式是
Redundant还是Compact,这就是为什么ROW_FORMAT的可能值之一是Compact or Redundant。PAGE_SIZE表空间页面大小。此列中的数据是从驻留在
.ibd文件 中的表空间标志信息解释的。ZIP_PAGE_SIZE表空间压缩页面大小。此列中的数据是从驻留在
.ibd文件 中的表空间标志信息解释的。SPACE_TYPE表空间的类型。可能的值包括:
General表示常规表空间,Single表示文件每表表空间,System表示系统表空间,Undo表示撤消表空间。FS_BLOCK_SIZE文件系统块大小,它是用于打孔的单位大小。此列 pertains to the
InnoDB透明页面压缩 特性。FILE_SIZE文件的表观大小,表示文件未压缩时的最大大小。此列 pertains to the
InnoDB透明页面压缩 特性。ALLOCATED_SIZE文件的实际大小,即磁盘上分配的空间量。此列 pertains to the
InnoDB透明页面压缩 特性。AUTOEXTEND_SIZE表空间的自动扩展大小。
SERVER_VERSION创建表空间的 MySQL 版本、导入表空间的 MySQL 版本或最后一个主要 MySQL 版本升级的版本。该值在发布系列升级(例如从 MySQL 8.4.
x升级到 8.4.y)后保持不变。该值可以被视为表空间的“创建”标记或“认证”标记。SPACE_VERSION表空间版本,用于跟踪表空间格式的变化。
ENCRYPTION表空间是否已加密。
STATE表空间状态。
对于文件每表和常规表空间,状态包括:
normal:表空间正常且处于活动状态。discarded:表空间已被ALTER TABLE ... DISCARD TABLESPACE语句丢弃。corrupted:表空间被InnoDB识别为已损坏。
对于撤消表空间,状态包括:
active:撤消表空间中的回滚段可以分配给新事务。inactive:撤消表空间中的回滚段不再由新事务使用。截断进程正在进行中。撤消表空间要么由清除线程隐式选择,要么由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.4.0
SPACE_VERSION: 1
ENCRYPTION: N
STATE: normal
注意
您必须拥有
PROCESS权限才能查询此表。使用
INFORMATION_SCHEMACOLUMNS表或SHOW COLUMNS语句查看有关此表列的其他信息,包括数据类型和默认值。