15. PARTITIONS

PARTITIONS表提供有关表分区的信息。 此表中的每一行对应于分区表的单个分区或子分区。 有关分区表的更多信息,请参见分区。

PARTITIONS表有以下列:

  • TABLE_CATALOG :表所属目录的名称。 该值始终为def。
  • TABLE_SCHEMA :表所属schema(database)名称
  • TABLE_NAME :分区表名称
  • PARTITION_NAME :分区名称
  • SUBPARTITION_NAME :如果PARTITIONS表行代表子分区,则为子分区的名称; 否则为NULL。
  • PARTITION_ORDINAL_POSITION :所有分区的索引顺序与它们的定义顺序相同,1是分配给第一个分区的数字。 随着分区的添加,删除和重组,索引可能会发生变化; 显示的数字是此列反映的当前订单,考虑到任何索引更改。
  • SUBPARTITION_ORDINAL_POSITION:给定分区中的子分区也被索引和重新索引,其方式与在表中索引分区的方式相同。
  • PARTITION_METHOD :值RANGE,LIST,HASH,LINEAR HASH,KEY或LINEAR KEY之一; 参考“分区类型”。
  • SUBPARTITION_METHOD :值HASH, LINEAR HASH, KEY, 或者 LINEAR KEY之一,参考Subpartitioning
  • PARTITION_EXPRESSION :创建表的当前分区方案的CREATE TABLE或ALTER TABLE语句中使用的分区函数的表达式。
    例如,考虑使用以下语句在测试数据库中创建的分区表:
CREATE TABLE tp (c1 INT,c2 INT,c3 VARCHAR(25)
)
PARTITION BY HASH(c1 + c2)
PARTITIONS 4;

此表中分区的PARTITIONS表行中的PARTITION_EXPRESSION列显示c1 + c2,如下所示:

mysql> SELECT DISTINCT PARTITION_EXPRESSIONFROM INFORMATION_SCHEMA.PARTITIONS
       WHERE TABLE_NAME='tp' AND TABLE_SCHEMA='test';
+----------------------+
| PARTITION_EXPRESSION |
+----------------------+
| c1 + c2              |
+----------------------+
  • SUBPARTITION_EXPRESSION :对于定义表的子分区的子分区表达式,这与PARTITION_EXPRESSION对用于定义表分区的分区表达式的作用方式相同。
    如果表没有子分区,则此列为NULL。
  • PARTITION_DESCRIPTION :此列用于RANGE和LIST分区。 对于RANGE分区,它包含在分区的VALUES LESS THAN子句中设置的值,该子句可以是整数或MAXVALUE。 对于LIST分区,此列包含分区的VALUES IN子句中定义的值,该子句是逗号分隔的整数值列表。
    对于PARTITION_METHOD不是RANGE或LIST的分区,此列始终为NULL。
  • TABLE_ROWS :分区中的表行数。
    对于分区的InnoDB表,TABLE_ROWS列中给出的行计数仅是SQL优化中使用的估计值,并且可能并不总是精确的。
    对于NDB表,您还可以使用ndb_desc实用程序获取此信息。
  • AVG_ROW_LENGTH :存储在此分区或子分区中的行的平均长度,以字节为单位。 这与DATA_LENGTH除以TABLE_ROWS相同。
    对于NDB表,您还可以使用ndb_desc实用程序获取此信息。
  • DATA_LENGTH :存储在此分区或子分区中的所有行的总长度,以字节为单位; 也就是说,分区或子分区中存储的总字节数。
    对于NDB表,您还可以使用ndb_desc实用程序获取此信息。
  • MAX_DATA_LENGTH :可以存储在此分区或子分区中的最大字节数。
    对于NDB表,您还可以使用ndb_desc实用程序获取此信息。
  • INDEX_LENGTH :此分区或子分区的索引文件的长度(以字节为单位)。
    对于NDB表的分区,无论表使用隐式分区还是显式分区,INDEX_LENGTH列值始终为0.但是,您可以使用ndb_desc实用程序获取等效信息。
  • DATA_FREE :分配给分区或子分区但未使用的字节数。
    对于NDB表,您还可以使用ndb_desc实用程序获取此信息。
  • CREATE_TIME :创建分区或子分区的时间。
  • UPDATE_TIME :上次修改分区或子分区的时间。
  • CHECK_TIME :检查此分区或子分区所属的表的最后一次。
    对于分区的InnoDB表,该值始终为NULL。
  • CHECKSUM :如果有的话,校验和值; 否则为NULL。
  • PARTITION_COMMENT :如果分区有注释,显示注释的文本。 反之,则该值为空。
    分区注释的最大长度定义为1024个字符,PARTITION_COMMENT列的显示宽度也是1024,符合此限制的字符。
  • NODEGROUP :这是分区所属的节点组。 这仅与NDB Cluster表相关; 否则,该值始终为0。
  • TABLESPACE_NAME :分区所属的表空间的名称。 除非表使用NDB存储引擎,否则该值始终为DEFAULT(请参阅本节末尾的注释)。

Notes

  • PARTITIONS表是一个非标准的INFORMATION_SCHEMA表。

  • 使用除NDB之外的任何存储引擎且未分区的表在PARTITIONS表中有一行。 但是,PARTITION_NAME,SUBPARTITION_NAME,PARTITION_ORDINAL_POSITION,SUBPARTITION_ORDINAL_POSITION,PARTITION_METHOD,SUBPARTITION_METHOD,PARTITION_EXPRESSION,SUBPARTITION_EXPRESSION和PARTITION_DESCRIPTION列的值均为NULL。 此外,本例中的PARTITION_COMMENT列为空。

  • 未明确分区的NDB表在PARTITIONS表中为NDB集群中的每个数据节点都有一行。 对于每一行:

    • SUBPARTITION_NAMESUBPARTITION_ORDINAL_POSITIONSUBPARTITION_METHODPARTITION_EXPRESSIONSUBPARTITION_EXPRESSIONCREATE_TIMEUPDATE_TIMECHECK_TIMECHECKSUMTABLESPACE_NAME列均为NULL。

    • PARTITION_METHOD始终是KEY。

    • NODEGROUP列是默认值。

    • PARTITION_EXPRESSION和PARTITION_COMMENT列为空。

示例

CREATE TABLE ts (id INT, purchased DATE)PARTITION BY RANGE( YEAR(purchased) )SUBPARTITION BY HASH( TO_DAYS(purchased) )SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990),PARTITION p1 VALUES LESS THAN (2000),PARTITION p2 VALUES LESS THAN MAXVALUE);
mysql> select * from information_schema.partitions where TABLE_SCHEMA='test' and table_name='ts' limit 2\G
*************************** 1. row ***************************
                TABLE_CATALOG: def
                 TABLE_SCHEMA: test
                   TABLE_NAME: ts
               PARTITION_NAME: p0
            SUBPARTITION_NAME: p0sp0PARTITION_ORDINAL_POSITION: 1
SUBPARTITION_ORDINAL_POSITION: 1
             PARTITION_METHOD: RANGE
          SUBPARTITION_METHOD: HASH
         PARTITION_EXPRESSION:  YEAR(purchased)
      SUBPARTITION_EXPRESSION:  TO_DAYS(purchased)
        PARTITION_DESCRIPTION: 1990
                   TABLE_ROWS: 0
               AVG_ROW_LENGTH: 0
                  DATA_LENGTH: 16384
              MAX_DATA_LENGTH: NULL
                 INDEX_LENGTH: 0
                    DATA_FREE: 0
                  CREATE_TIME: 2018-08-15 11:09:38
                  UPDATE_TIME: NULL
                   CHECK_TIME: NULL
                     CHECKSUM: NULL
            PARTITION_COMMENT:
                    NODEGROUP: default
              TABLESPACE_NAME: NULL
*************************** 2. row ***************************
                TABLE_CATALOG: def
                 TABLE_SCHEMA: test
                   TABLE_NAME: ts
               PARTITION_NAME: p0
            SUBPARTITION_NAME: p0sp1PARTITION_ORDINAL_POSITION: 1
SUBPARTITION_ORDINAL_POSITION: 2
             PARTITION_METHOD: RANGE
          SUBPARTITION_METHOD: HASH
         PARTITION_EXPRESSION:  YEAR(purchased)
      SUBPARTITION_EXPRESSION:  TO_DAYS(purchased)
        PARTITION_DESCRIPTION: 1990
                   TABLE_ROWS: 0
               AVG_ROW_LENGTH: 0
                  DATA_LENGTH: 16384
              MAX_DATA_LENGTH: NULL
                 INDEX_LENGTH: 0
                    DATA_FREE: 0
                  CREATE_TIME: 2018-08-15 11:09:38
                  UPDATE_TIME: NULL
                   CHECK_TIME: NULL
                     CHECKSUM: NULL
            PARTITION_COMMENT:
                    NODEGROUP: default
              TABLESPACE_NAME: NULL
2 rows in set (0.00 sec)

15. PARTITIONS相关推荐

  1. SSAS分区数据量过大处理参考 转- Recommended Practices with Partitions and Aggregations

    原文链接: http://www.informit.com/articles/article.aspx?p=1554201&seqNum=2 Recommended Practices wit ...

  2. php调用airtestide,raw device

    about raw device?以下是关于linux下安装oracle的raw device的,大家看看! FAQ Details Q:  1. What is a raw device? A:Ra ...

  3. linux设备号——常见设备的主次设备号

    简介 Linux 下所有的硬件设备都是用文件来表示的,俗称"设备文件",在 /dev 目录下面,为了显示自己并不是普通的文件,它们都会有一个主设备号和次设备号,如下所示 crw-r ...

  4. Linux-2.6驱动开发 附录一 设备名称

    附录一 设备名称 Major Minor Name 0 Unnamed devices (e.g. non-device mounts) 0 = reserved as null device num ...

  5. Linux 设备分配清单(kernel:2.6+)

    Linux 设备分配清单(kernel:2.6+) -------------------------------------------------------------------------- ...

  6. Fedora 从 15.0 开始将修改以太网卡命名规则

    Fedora 的开发者 Matt Domsch 称,从 Fedora 15 开始,将不再使用常规的 ethX 的方式来命名以太网卡设备. 新的命名规则如下: em[1-N] 用于主板内置的网卡设备 p ...

  7. 15.文件系统——软RAID的实现(二)(mdadm,watch, RAID1)

    前文介绍了使用mdadm命令穿件软RAID0的过程,本章将继续演示RAID1和RAID5的创建过程. 在演示具体的创建过程之前,需要进一步介绍madam命令可用的选项: -f:把某设备指定为模拟损坏 ...

  8. mysql数据库优化课程---15、mysql优化步骤(mysql中最常用最立竿见影的优化是什么)...

    mysql数据库优化课程---15.mysql优化步骤(mysql中最常用最立竿见影的优化是什么) 一.总结 一句话总结:索引优化最立竿见影 索引优化:不然有多少行要扫描多少次,1亿行大概是5到10分 ...

  9. Exchanging Partitions and Subpartitions with Tables--官方文档

    原文地址:https://dev.mysql.com/doc/refman/5.6/en/partitioning-management-exchange.html In MySQL 5.6, it ...

最新文章

  1. api 创建zookeeper客户端_zookeeper分布式锁原理及实现
  2. OSI[七层]与TCP/IP[四层]模型简述简图
  3. 简直骚操作,ThreadLocal还能当缓存用
  4. 20年研发管理经验谈(五)
  5. mysql悲观锁 更新_MySQL学习笔记(四)悲观锁 for update
  6. 自己搭建一个k8s环境
  7. 区分两种题目类型中的数学期望
  8. ecshop ipdel.php,去除Ecshop后台调用api.ecshop.com官网后门代码
  9. css背景图充满整个屏幕
  10. 写程序实现wireshark的抓包功能
  11. 解决 PhpStorm 对 用单例模式实例化PHP类时,代码自动提示功能失效 的问题
  12. echarts自适应
  13. 在Mac电脑的输入法中如何开启自动纠正模糊拼音功能?
  14. android 9.0 c7Pro,三星c7pro和vivo x9哪个好?三星Galaxy c7 pro和vivo x9区别对比评测
  15. ai面试的优缺点_AI面试需要注意哪些问题?
  16. 一文教会你导出微信聊天记录
  17. 白话Istio—流量管理四大概念
  18. 计算机视觉中的多视图几何<Part0—基础知识:射影几何、变换和估计>(3)
  19. 吴裕雄--天生自然 诗经:小儿垂钓
  20. 互联网架构正逐渐成为企业IT发展刚需

热门文章

  1. 使用scala语言编写Spark独立应用程序实现词频统计
  2. Nginx——Session共享
  3. [转]在中国做量化交易一天的工作内容
  4. 移动架构-图片加载框架设计
  5. FCN:Fully Convolutional Networks for Semantic Segmentation
  6. 【Python】计算圆度
  7. 那是计算机房吗不它不是 英语,人教版四年级下册英语unit1教材B部分课文翻译...
  8. 导入云词库(仅限英文)
  9. 期货开户应该了解的行内知识
  10. 春夏秋冬java用代码怎么写_春夏秋冬季节判断 (C语言代码)