该INNODB_TABLES
表提供有关InnoDB
表的元数据。
有关相关的使用信息和示例,请参阅 第 15.15.3 节,“InnoDB INFORMATION_SCHEMA 模式对象表”。
该INNODB_TABLES
表有以下列:
TABLE_ID
表的标识符
InnoDB
。该值在实例中的所有数据库中都是唯一的。NAME
表的名称,在适当的地方以架构(数据库)名称开头(例如,
test/t1
)。数据库和用户表的名称与最初定义的名称大小写相同,可能受lower_case_table_names
设置影响。FLAG
表示有关表格式和存储特性的位级信息的数值。
N_COLS
表中的列数。
InnoDB
报告的数字包括由(DB_ROW_ID
、DB_TRX_ID
和 )创建的三个隐藏列DB_ROLL_PTR
。报告的数字还包括虚拟生成的列(如果存在)。SPACE
表所在的表空间的标识符。0 表示
InnoDB
系统表空间。任何其他数字表示 每个表的文件表 空间或通用表空间。TRUNCATE TABLE
此标识符在语句后保持不变。对于 file-per-table 表空间,此标识符对于实例中所有数据库中的表是唯一的。ROW_FORMAT
表的行格式(
Compact
、Redundant
、Dynamic
或Compressed
)。ZIP_PAGE_SIZE
压缩页面大小。仅适用于行格式为
Compressed
.SPACE_TYPE
表所属的表空间类型。可能
System
的值包括系统表空间、General
通用表空间和Single
file-per-table 表空间。分配给系统表空间的表 使用CREATE TABLE
或 具有 . 有关详细信息,请参阅。ALTER TABLE
TABLESPACE=innodb_system
SPACE_TYPE
General
CREATE TABLESPACE
INSTANT_COLS
ALTER TABLE ... ADD COLUMN
使用with 添加第一个即时列之前存在的列数ALGORITHM=INSTANT
。从 MySQL 8.0.29 开始不再使用此列,但继续显示包含在 MySQL 8.0.29 之前立即添加的列的表的信息。TOTAL_ROW_VERSIONS
表的行版本数。初始值为 0。该值通过
ALTER TABLE ... ALGORITHM=INSTANT
添加或删除列的操作递增。当由于表重建ALTER TABLE
或OPTIMIZE TABLE
操作而重建具有即时添加或删除列的表时,该值将重置为 0。有关更多信息,请参阅 列操作。
例子
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE TABLE_ID = 214\G
*************************** 1. row ***************************
TABLE_ID: 1064
NAME: test/t1
FLAG: 33
N_COLS: 6
SPACE: 3
ROW_FORMAT: Dynamic
ZIP_PAGE_SIZE: 0
SPACE_TYPE: Single
INSTANT_COLS: 0
TOTAL_ROW_VERSIONS: 3
笔记
您必须具有
PROCESS
查询此表的权限。使用
INFORMATION_SCHEMA
COLUMNS
表或SHOW COLUMNS
语句查看有关此表的列的其他信息,包括数据类型和默认值。