15. PARTITIONS「建议收藏」

15. PARTITIONS「建议收藏」15.PARTITIONSPARTITIONS表提供有关表分区的信息。此表中的每一行对应于分区表的单个分区或子分区。有关分区表的更多信息,请参见分区。PARTITIONS表有以下列:TABLE_CATALOG:表所属目录的名称。该值始终为def。TABLE_SCHEMA:表所属schema(databas…

大家好,又见面了,我是你们的朋友全栈君。

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_EXPRESSION FROM 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: p0sp0
   PARTITION_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: p0sp1
   PARTITION_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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124907.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月19日 下午9:20
下一篇 2022年4月19日 下午9:40


相关推荐

  • 数据仓库之ODS层设计概要

    数据仓库之ODS层设计概要ODS 层辨析 ODS 全称是 OperationalD 即操作数据存储 InmonVSKimba Inmon 的定义 ODS 是一个面向主题的 集成的 可变的 当前的细节数据集合 用于支持企业对于即时性的 操作性的 集成的全体信息的需求 常常被作为数据仓库的过渡 也是数据仓库项目的可选项之一 而 Kimball 的定义 操作型系统的集成 用于当前 历史以及其它细节查询 业务系统的一部分 为决策支持提供当前细节数据 数据仓库的一部分 ODSVSDBVSED

    2026年3月20日
    2
  • 学术资源不定期分享-【费曼物理学讲义英文原版】[通俗易懂]

    学术资源不定期分享-【费曼物理学讲义英文原版】[通俗易懂]相关资料简介理查德·费曼(全名理查德·菲利普斯·费曼),(1918年5月11日生于美国纽约)他是美国理论物理学家,被广泛认为是二战后他的研究领域中最杰出、最具影响力的人物之一。费曼因他在量子电动力学方面的工作而闻名:他描述了光如何与物质相互作用以及带电粒子如何相互作用。他还设计了粒子如何相互作用的图表(现在称为费曼图)和液氦超流体行为的量子力学解释(接近绝对零度时如何在没有摩擦的情况下流动)。第二次世界大战期间,费曼被聘为普林斯顿大学美国原子弹项目的一名工作人员(1941-42年),后来又在新墨西哥.

    2022年6月6日
    61
  • 学习双拼必看(最全教程):双拼输入法的心得以及快速入门办法

    学习双拼必看(最全教程):双拼输入法的心得以及快速入门办法1.简单介绍一下双拼2.总共18种双拼方案3.15种双拼方案的具体映射4.顺便提一下双拼口诀的事情5.总结不同平台选择的方案双拼(也称双打)是一种建立在拼音输入法基础上的输入方法,可视为全拼的一种改进,它通过将汉语拼音中每个含多个字母的声母或韵母各自映射到某个按键上,使得每个音都可以用两个按键打出,极大地提高了拼音输入法的输入速度。这种声母或韵母到按键的对应表通常称之为双…

    2022年6月16日
    93
  • mysql安装教程【安装版】

    mysql安装教程【安装版】mysql 安装教程 安装版

    2026年3月19日
    2
  • 钉钉 AI 客服:高可用架构实战

    钉钉 AI 客服:高可用架构实战

    2026年3月14日
    1
  • 解决Eclipse中文乱码

    解决Eclipse中文乱码使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、ContentType、File 本文以Eclipse3.3(英文)为例加以说明: 1.设置Workspace的编码格式: Windows

    2022年5月13日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号