功能
INFORMATION_SCHEMA.PARTITIONS用于提供数据库中所有分区表的详细分区信息,包括分区定义、存储参数、统计信息等。字段说明
字段名 | 类型 | 描述 |
TABLE_CATALOG | varchar(64) | 表所属的目录名称,该值始终为 'def' |
TABLE_SCHEMA | varchar(64) | 表所属的数据库名称 |
TABLE_NAME | varchar(64) | 表名称 |
PARTITION_NAME | varchar(64) | 分区名称 |
SUBPARTITION_NAME | varchar(64) | 如果该行表示一个子分区(subpartition),则为子分区的名称;否则为 NULL |
PARTITION_ORDINAL_POSITION | int unsigned | 分区在表中的位置序号 |
SUBPARTITION_ORDINAL_POSITION | int unsigned | 子分区在分区中的位置序号 |
PARTITION_METHOD | varchar(13) | 分区方法(RANGE、LIST、HASH、KEY 等) |
SUBPARTITION_METHOD | varchar(13) | 子分区方法 |
PARTITION_EXPRESSION | varchar(2048) | 分区表达式 |
SUBPARTITION_EXPRESSION | text | 子分区表达式 |
PARTITION_DESCRIPTION | text | 分区描述(如 RANGE 分区的边界值) |
TABLE_ROWS | bigint unsigned | 分区中的估计行数 |
AVG_ROW_LENGTH | bigint unsigned | 分区的平均行长度 |
DATA_LENGTH | bigint unsigned | 分区数据长度(字节) |
MAX_DATA_LENGTH | bigint unsigned | 分区最大数据长度 |
INDEX_LENGTH | bigint unsigned | 分区索引长度 |
DATA_FREE | bigint unsigned | 分区中未使用的空间 |
CREATE_TIME | timestamp | 分区创建时间 |
UPDATE_TIME | datetime | 分区最后更新时间 |
CHECK_TIME | datetime | 分区最后检查时间 |
CHECKSUM | bigint | 分区校验和值 |
PARTITION_COMMENT | text | 分区注释信息 |
NODEGROUP | varchar(256) | 节点组信息 |
TABLESPACE_NAME | varchar(268) | 表空间名称 |
TINDEX_ID | int unsigned | 表或者分区的 TINDEX_ID |
TINDEX_ID_STORAGE_FORMAT | varchar(8) | 表索引 ID 存储格式 |
DATA_SPACE_TYPE | varchar(128) | 数据空间类型 |
SE_PRIVATE_DATA | mediumtext | 存储引擎私有数据 |
TABLE_SCHEMA_VERSION | int unsigned | 表结构版本号 |
TABLE_SCHEMA_STATUS | smallint unsigned | 表结构状态 |
TABLE_EXTRA_INFO | mediumtext | 表额外信息(JSON 格式) |
TABLE_SE_PRIVATE_DATA | mediumtext | 表存储引擎私有数据 |
示例
1. 创建了一个具有两级分区的
sales 表:一级分区:按年份范围分区(RANGE),共2个分区(p0, p1)。
二级分区:按月哈希分区(HASH),每个一级分区下各有2个子分区。
2. 查询
PARTITIONS 视图:显示的是实际的分区/子分区信息,对于有子分区的表,不会显示一级分区的汇总信息。如下所示,查询结果为4行数据,分别对应4个子分区。#创建分区表示例tdsql > CREATE TABLE sales (id INT NOT NULL,sale_date DATE NOT NULL,amount DECIMAL(10,2))PARTITION BY RANGE (YEAR(sale_date))SUBPARTITION BY HASH(MONTH(sale_date))SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (2023),PARTITION p1 VALUES LESS THAN (2025));#查询分区信息tdsql > select * from INFORMATION_SCHEMA.partitions where TABLE_SCHEMA="test" and TABLE_NAME="sales"\\G;*************************** 1. row ***************************TABLE_CATALOG: defTABLE_SCHEMA: testTABLE_NAME: salesPARTITION_NAME: p0SUBPARTITION_NAME: p0sp0PARTITION_ORDINAL_POSITION: 1SUBPARTITION_ORDINAL_POSITION: 1PARTITION_METHOD: RANGESUBPARTITION_METHOD: HASHPARTITION_EXPRESSION: year(`sale_date`)SUBPARTITION_EXPRESSION: month(`sale_date`)PARTITION_DESCRIPTION: 2023TABLE_ROWS: 0AVG_ROW_LENGTH: 0DATA_LENGTH: 0MAX_DATA_LENGTH: 0INDEX_LENGTH: 0DATA_FREE: 0CREATE_TIME: 2025-11-09 16:34:32UPDATE_TIME: NULLCHECK_TIME: NULLCHECKSUM: NULLPARTITION_COMMENT:NODEGROUP: defaultTABLESPACE_NAME: NULLTINDEX_ID: 10032TINDEX_ID_STORAGE_FORMAT: 00002730DATA_SPACE_TYPE: DATA_SPACE_TYPE_USERSE_PRIVATE_DATA: create_data_obj_task_id=29572817330634866;distribution_policy_id=1;hidden_pk_autoinc_tindex_id=10033;schema_status=0;TABLE_SCHEMA_VERSION: 1TABLE_SCHEMA_STATUS: 0TABLE_EXTRA_INFO: {"version":3,"create_ts":0}TABLE_SE_PRIVATE_DATA: autoinc_version=1;create_data_obj_task_id=29572817330634866;distribution_policy_id=1;origin_db=test;origin_table=sales;partition_policy_id=0;sync_table=0;*************************** 2. row ***************************TABLE_CATALOG: defTABLE_SCHEMA: testTABLE_NAME: salesPARTITION_NAME: p0SUBPARTITION_NAME: p0sp1PARTITION_ORDINAL_POSITION: 1SUBPARTITION_ORDINAL_POSITION: 2PARTITION_METHOD: RANGESUBPARTITION_METHOD: HASHPARTITION_EXPRESSION: year(`sale_date`)SUBPARTITION_EXPRESSION: month(`sale_date`)PARTITION_DESCRIPTION: 2023TABLE_ROWS: 0AVG_ROW_LENGTH: 0DATA_LENGTH: 0MAX_DATA_LENGTH: 0INDEX_LENGTH: 0DATA_FREE: 0CREATE_TIME: 2025-11-09 16:34:32UPDATE_TIME: NULLCHECK_TIME: NULLCHECKSUM: NULLPARTITION_COMMENT:NODEGROUP: defaultTABLESPACE_NAME: NULLTINDEX_ID: 10034TINDEX_ID_STORAGE_FORMAT: 00002732DATA_SPACE_TYPE: DATA_SPACE_TYPE_USERSE_PRIVATE_DATA: create_data_obj_task_id=29572817330634866;distribution_policy_id=1;hidden_pk_autoinc_tindex_id=10035;schema_status=0;TABLE_SCHEMA_VERSION: 1TABLE_SCHEMA_STATUS: 0TABLE_EXTRA_INFO: {"version":3,"create_ts":0}TABLE_SE_PRIVATE_DATA: autoinc_version=1;create_data_obj_task_id=29572817330634866;distribution_policy_id=1;origin_db=test;origin_table=sales;partition_policy_id=0;sync_table=0;*************************** 3. row ***************************TABLE_CATALOG: defTABLE_SCHEMA: testTABLE_NAME: salesPARTITION_NAME: p1SUBPARTITION_NAME: p1sp0PARTITION_ORDINAL_POSITION: 2SUBPARTITION_ORDINAL_POSITION: 1PARTITION_METHOD: RANGESUBPARTITION_METHOD: HASHPARTITION_EXPRESSION: year(`sale_date`)SUBPARTITION_EXPRESSION: month(`sale_date`)PARTITION_DESCRIPTION: 2025TABLE_ROWS: 0AVG_ROW_LENGTH: 0DATA_LENGTH: 0MAX_DATA_LENGTH: 0INDEX_LENGTH: 0DATA_FREE: 0CREATE_TIME: 2025-11-09 16:34:32UPDATE_TIME: NULLCHECK_TIME: NULLCHECKSUM: NULLPARTITION_COMMENT:NODEGROUP: defaultTABLESPACE_NAME: NULLTINDEX_ID: 10037TINDEX_ID_STORAGE_FORMAT: 00002735DATA_SPACE_TYPE: DATA_SPACE_TYPE_USERSE_PRIVATE_DATA: create_data_obj_task_id=29572817330634866;distribution_policy_id=1;hidden_pk_autoinc_tindex_id=10038;schema_status=0;TABLE_SCHEMA_VERSION: 1TABLE_SCHEMA_STATUS: 0TABLE_EXTRA_INFO: {"version":3,"create_ts":0}TABLE_SE_PRIVATE_DATA: autoinc_version=1;create_data_obj_task_id=29572817330634866;distribution_policy_id=1;origin_db=test;origin_table=sales;partition_policy_id=0;sync_table=0;*************************** 4. row ***************************TABLE_CATALOG: defTABLE_SCHEMA: testTABLE_NAME: salesPARTITION_NAME: p1SUBPARTITION_NAME: p1sp1PARTITION_ORDINAL_POSITION: 2SUBPARTITION_ORDINAL_POSITION: 2PARTITION_METHOD: RANGESUBPARTITION_METHOD: HASHPARTITION_EXPRESSION: year(`sale_date`)SUBPARTITION_EXPRESSION: month(`sale_date`)PARTITION_DESCRIPTION: 2025TABLE_ROWS: 0AVG_ROW_LENGTH: 0DATA_LENGTH: 0MAX_DATA_LENGTH: 0INDEX_LENGTH: 0DATA_FREE: 0CREATE_TIME: 2025-11-09 16:34:32UPDATE_TIME: NULLCHECK_TIME: NULLCHECKSUM: NULLPARTITION_COMMENT:NODEGROUP: defaultTABLESPACE_NAME: NULLTINDEX_ID: 10039TINDEX_ID_STORAGE_FORMAT: 00002737DATA_SPACE_TYPE: DATA_SPACE_TYPE_USERSE_PRIVATE_DATA: create_data_obj_task_id=29572817330634866;distribution_policy_id=1;hidden_pk_autoinc_tindex_id=10040;schema_status=0;TABLE_SCHEMA_VERSION: 1TABLE_SCHEMA_STATUS: 0TABLE_EXTRA_INFO: {"version":3,"create_ts":0}TABLE_SE_PRIVATE_DATA: autoinc_version=1;create_data_obj_task_id=29572817330634866;distribution_policy_id=1;origin_db=test;origin_table=sales;partition_policy_id=0;sync_table=0;4 rows in set (0.05 sec)