-
Notifications
You must be signed in to change notification settings - Fork 109
INNODB_SYS_TABLESPACES
xiaoboluo768 edited this page Jun 7, 2020
·
2 revisions
- 该表提供查询有关InnoDB独立表空间和普通表空间的元数据信息(也包含了全文索引表空间),等同于InnoDB数据字典中SYS_TABLESPACES表中的信息
- 该表为memory引擎临时表,查询该表的用户需要有process权限
- INFORMATION_SCHEMA.FILES表提供查询的信息中包含所有InnoDB表空间类型的元数据信息,包括独立表空间、普通表空间、系统表空间、临时表空间和undo表空间(如果有)
- 因为对于所有Antelope文件格式的表空间文件(注意与表的FLAG不同),表空间FLAG信息始终为零,所以如果表空间行格式为 Redundant 或 Compact,则无法使用该FLAG信息确定一个十进制的整数(也就是说在Antelope文件格式的表空间文件中,无法通过表空间文件的FLAG信息判断行格式是Compact、 Redundant、Compressed、Dynamic中的哪一种)
- 普通表空间引入之后,系统表空间的元数据信息也在INNODB_SYS_TABLESPACES表暴露出来提供了查询
- 表定义语句
CREATE TEMPORARY TABLE `INNODB_SYS_TABLESPACES` (
`SPACE` int(11) unsigned NOT NULL DEFAULT '0',
`NAME` varchar(655) NOT NULL DEFAULT '',
`FLAG` int(11) unsigned NOT NULL DEFAULT '0',
`FILE_FORMAT` varchar(10) DEFAULT NULL,
`ROW_FORMAT` varchar(22) DEFAULT NULL,
`PAGE_SIZE` int(11) unsigned NOT NULL DEFAULT '0',
`ZIP_PAGE_SIZE` int(11) unsigned NOT NULL DEFAULT '0',
`SPACE_TYPE` varchar(10) DEFAULT NULL,
`FS_BLOCK_SIZE` int(11) unsigned NOT NULL DEFAULT '0',
`FILE_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
`ALLOCATED_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0'
) ENGINE=MEMORY DEFAULT CHARSET=utf8- 表字段含义
- SPACE:表空间文件ID
- NAME:数据库和表名组合字符串,例如:test/t1
- FLAG:有关表空间文件存储格式和存储特性的bit位级数据
- FILE_FORMAT:表空间文件存储格式。例如:Antelope、Barracuda或普通表空间支持的任何行格式。该字段中的数据是根据驻留在.ibd文件中的表空间FLAG信息进行解释的。有关InnoDB文件格式的更多信息,详见链接:https://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
- ROW_FORMAT:表空间的行格式(Compact、 Redundant、Compressed、Dynamic),该字段中的数据是根据驻留在.ibd文件中的表空间FLAG信息进行解释的
- PAGE_SIZE:表空间中的页大小。该字段中的数据是根据驻留在.ibd文件中的表空间FLAG信息进行解释的
- ZIP_PAGE_SIZE:表空间zip页大小。该字段中的数据是根据驻留在.ibd文件中的表空间FLAG信息进行解释的
- SPACE_TYPE:表空间文件的类型。可能的值包括:General (普通表空间)和Single (独立表空间文件) *
- FS_BLOCK_SIZE:文件系统中的块大小,它是用于hole punching技术的单位大小。该字段是在InnoDB透明页压缩功能被引入之后新增的
- FILE_SIZE:文件表面上的大小(即表示文件未压缩时的最大大小)。该字段是在InnoDB透明页压缩功能被引入之后新增的
- ALLOCATED_SIZE:文件的实际大小,即在磁盘上分配的空间大小。该字段是在InnoDB透明页压缩功能被引入之后新增的
- PS:关于Innodb透明页压缩详见链接:https://dev.mysql.com/doc/refman/5.7/en/innodb-page-compression.html
- 表记录内容示例
admin@localhost : information_schema 06:48:10> select * from INNODB_SYS_TABLESPACES where name like '%sbtest%' limit 10;
+-------+------------------------------------------------------+------+-------------+------------+-----------+---------------+------------+---------------+------------+----------------+
| SPACE | NAME | FLAG | FILE_FORMAT | ROW_FORMAT | PAGE_SIZE | ZIP_PAGE_SIZE | SPACE_TYPE | FS_BLOCK_SIZE | FILE_SIZE | ALLOCATED_SIZE |
+-------+------------------------------------------------------+------+-------------+------------+-----------+---------------+------------+---------------+------------+----------------+
| 28 | sbtest/sbtest6 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1547698176 | 1547702272 |
| 29 | sbtest/sbtest5 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1551892480 | 1551896576 |
| 30 | sbtest/sbtest3 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1551892480 | 1551896576 |
| 31 | sbtest/sbtest7 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1547698176 | 1547702272 |
| 32 | sbtest/sbtest1 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 2533359616 | 2533363712 |
| 33 | sbtest/sbtest2 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1547698176 | 1547702272 |
| 34 | sbtest/sbtest4 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1551892480 | 1551896576 |
| 35 | sbtest/sbtest8 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 1547698176 | 1547702272 |
| 167 | sbtest/xx | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 114688 | 114688 |
| 168 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_1 | 33 | Barracuda | Dynamic | 16384 | 0 | Single | 4096 | 98304 | 98304 |
+-------+------------------------------------------------------+------+-------------+------------+-----------+---------------+------------+---------------+------------+----------------+
10 rows in set (0.00 sec)- PS:关于表空间文件的FLAG信息介绍详见链接:https://dev.mysql.com/doc/refman/5.7/en/innodb-sys-tablespaces-table.html
- 验证、测试、整理:罗小波
- QQ:309969177
- 提示:本系列文章的主体结构遵循Oracle MySQL 官方 5.7 手册中,关于information_schema、mysql schema、performance_schema、sys schema的章节结构体系,并额外添加了一些验证、测试数据。鉴于本人精力和能力有限,难免出现一些纰漏,欢迎大家踊跃指正!