Skip to content

PARTITIONS

xiaoboluo768 edited this page Jun 7, 2020 · 2 revisions
  • 该表提供查询关于分区表的信息
  • 该表为InnoDB引擎临时表
  • 表定义语句
CREATE TEMPORARY TABLE `PARTITIONS` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
  `PARTITION_NAME` varchar(64) DEFAULT NULL,
  `SUBPARTITION_NAME` varchar(64) DEFAULT NULL,
  `PARTITION_ORDINAL_POSITION` bigint(21) unsigned DEFAULT NULL,
  `SUBPARTITION_ORDINAL_POSITION` bigint(21) unsigned DEFAULT NULL,
  `PARTITION_METHOD` varchar(18) DEFAULT NULL,
  `SUBPARTITION_METHOD` varchar(12) DEFAULT NULL,
  `PARTITION_EXPRESSION` longtext,
  `SUBPARTITION_EXPRESSION` longtext,
  `PARTITION_DESCRIPTION` longtext,
  `TABLE_ROWS` bigint(21) unsigned NOT NULL DEFAULT '0',
  `AVG_ROW_LENGTH` bigint(21) unsigned NOT NULL DEFAULT '0',
  `DATA_LENGTH` bigint(21) unsigned NOT NULL DEFAULT '0',
  `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `INDEX_LENGTH` bigint(21) unsigned NOT NULL DEFAULT '0',
  `DATA_FREE` bigint(21) unsigned NOT NULL DEFAULT '0',
  `CREATE_TIME` datetime DEFAULT NULL,
  `UPDATE_TIME` datetime DEFAULT NULL,
  `CHECK_TIME` datetime DEFAULT NULL,
  `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
  `PARTITION_COMMENT` varchar(80) NOT NULL DEFAULT '',
  `NODEGROUP` varchar(12) NOT NULL DEFAULT '',
  `TABLESPACE_NAME` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
  • 表字段含义(该表中所有字段都为 "MySQL extension" 列)
  • TABLE_CATALOG:这个列总是def
  • TABLE_SCHEMA:表示该分区表所属的数据库的名称
  • TABLE_NAME:表示该分区表的表名称
  • PARTITION_NAME:表示分区表的分区名称
  • SUBPARTITION_NAME:表示分区表的某个分区的子分区名称,如果分区表不存在子分区,则列值为NULL
  • PARTITION_ORDINAL_POSITION:表示分区表的所有分区的索引编号,该编号的大小与定义的顺序相同,如:1表示第一个分区的编号。索引编号会随着分区的添加、删除和重组而改变。
  • SUBPARTITION_ORDINAL_POSITION:与PARTITION_ORDINAL_POSITION字段含义类似,该字段表示子分区的索引编号和定义顺序
  • PARTITION_METHOD:表示分区表的分区函数类型,有效值为:RANGE、LIST、HASH、LINEAR HASH、KEY、LINEAR KEY
  • SUBPARTITION_METHOD:表示分区表的子分区的函数类型,有效值为:HASH、LINEAR HASH、KEY、LINEAR KEY
  • PARTITION_EXPRESSION:表示分区函数中的分区表达式,在创建分区表或修改分区表的分区函数时指定,例如:指定了分区表达式为 "PARTITION BY HASH(c1 + c2)",则在该字段中记录表达式 "c1 + c2"
  • SUBPARTITION_EXPRESSION:与PARTITION_EXPRESSION字段含义类型,表示分区表的子分区的分区函数表达式,如果分区表中没有子分区,则该字段为NULL
  • PARTITION_DESCRIPTION:表示RANGE和LIST分区定义的分区定义值。对于RANGE分区,它表示每个分区的VALUES LESS THAN子句中设置的值,该值可以是整数或MAXVALUE。对于LIST分区,它表示每个分区的VALUES IN子句中定义的值,该值为逗号分隔的整数值列表。另外,对于非range和list分区的其他分区类型,该字段为NULL
  • TABLE_ROWS:分区中的记录行数,对于InnoDB分区表,TABLE_ROWS列值只是SQL优化中使用的估计值,并不是精确值
  • AVG_ROW_LENGTH:存储在分区或子分区中的行的平均长度(以字节为单位),与DATA_LENGTH列值/TABLE_ROWS列值的结果值相同
  • DATA_LENGTH:存储在分区或子分区中的所有行记录的总长度(以字节为单位),即存储在分区或子分区中的总数据字节数
  • MAX_DATA_LENGTH:可以存储在分区或子分区中的最大数据字节数
  • INDEX_LENGTH:分区或子分区的索引文件的长度(以字节为单位)
  • DATA_FREE:分配给分区或子分区但未使用的空间大小字节数
  • CREATE_TIME:创建分区或子分区的时间
  • UPDATE_TIME:分区或子分区上次修改的时间
  • CHECK_TIME:最后一次检查分区或子分区的事件,对于InnoDB分区表,该列值总是为NULL
  • CHECKSUM:如果有进行checksum校验,则该列值表示校验和值,否则,该列值为NULL
  • PARTITION_COMMENT:表示分区的注释文本,注意:在MySQL 5.7中,分区注释的最大长度定义为1024个字符,PARTITION_COMMENT列的显示宽度也是1024个字符。默认值为空串
  • NODEGROUP:表示分区所属的节点组。与NDB Cluster表有关,如果非NDB Cluster表则该列值为0
  • TABLESPACE_NAME:分区表的表空间名称。该列值始终为DEFAULT
  • PS:对于非分区表,在INFORMATION_SCHEMA.PARTITIONS中只有一条记录。但是,PARTITION_NAME、SUBPARTITION_NAME、PARTITION_ORDINAL_POSITION、SUBPARTITION_ORDINAL_POSITION、PARTITION_METHOD、SUBPARTITION_METHOD、PARTITION_EXPRESSION、SUBPARTITION_EXPRESSION、PARTITION_DESCRIPTION列值均为NULL (PARTITION_COMMENT列值为空串)
  • 表记录内容示例(该表中的每行记录对应着一个分区表或分区表的某个子分区表)
# 创建一个示例分区表
root@localhost : luoxiaobo 03:18:28> use luoxiaobo
Database changed
root@localhost : luoxiaobo 03:18:31> CREATE TABLE test_partition(
    ->    d1 INT,
    ->    d2 INT,
    ->    d3 VARCHAR(25)
    -> )
    -> PARTITION BY HASH(d1 + d2)
    -> PARTITIONS 4;
Query OK, 0 rows affected (0.03 sec)

# 查询分区表信息
root@localhost : luoxiaobo 03:19:21> select * from information_schema.PARTITIONS where TABLE_NAME='test_partition'\G;
*************************** 1. row ***************************
                TABLE_CATALOG: def
                TABLE_SCHEMA: luoxiaobo
                  TABLE_NAME: test_partition
              PARTITION_NAME: p0
            SUBPARTITION_NAME: NULL
  PARTITION_ORDINAL_POSITION: 1
SUBPARTITION_ORDINAL_POSITION: NULL
            PARTITION_METHOD: HASH
          SUBPARTITION_METHOD: NULL
        PARTITION_EXPRESSION: d1 + d2
      SUBPARTITION_EXPRESSION: NULL
        PARTITION_DESCRIPTION: NULL
                  TABLE_ROWS: 0
              AVG_ROW_LENGTH: 0
                  DATA_LENGTH: 16384
              MAX_DATA_LENGTH: NULL
                INDEX_LENGTH: 0
                    DATA_FREE: 0
                  CREATE_TIME: 2018-01-27 15:18:32
                  UPDATE_TIME: NULL
                  CHECK_TIME: NULL
                    CHECKSUM: NULL
            PARTITION_COMMENT: 
                    NODEGROUP: default
              TABLESPACE_NAME: NULL
............
4 row in set (0.01 sec)

上一篇:PARAMETERS表 |下一篇:PLUGINS表

Clone this wiki locally