当前位置:网站首页>15. PARTITIONS「建议收藏」
15. PARTITIONS「建议收藏」
2022-08-03 12:18:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
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_NAME,SUBPARTITION_ORDINAL_POSITION,SUBPARTITION_METHOD,PARTITION_EXPRESSION,SUBPARTITION_EXPRESSION,CREATE_TIME,UPDATE_TIME,CHECK_TIME,CHECKSUM和TABLESPACE_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.cn/124907.html原文链接:https://javaforall.cn
边栏推荐
- 如何免费获得一个市全年的气象数据?降雨量气温湿度太阳辐射等等数据
- -树的高度-
- LeetCode刷题笔记:105.从前序与中序遍历序列构造二叉树
- Vs Shortcut Keys---Explore Different Programming
- 【Verilog】HDLBits题解——Circuits/Sequential Logic/Latches and Flip-Flops
- Chapter 15 Source Code File REST API Introduction
- I in mother's womb SOLO20 years
- 面试突击71:GET 和 POST 有什么区别?
- 622. 设计循环队列
- ssh 免密登录了解下
猜你喜欢
随机推荐
AMS simulation
解决oracle安装在linux中jdk的冲突
fastposter v2.9.0 程序员必备海报生成器
How does Filebeat maintain file state?
FE主导打造一个运营活动平台
php microtime encapsulates the tool class, calculates the running time of the interface (breakpoint)
fastposter v2.9.0 programmer must-have poster generator
Vs 快捷键---探索不一样的编程
AMS simulation
php microtime 封装工具类,计算接口运行时间(打断点)
bash while循环和until循环
肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer
pandas连接oracle数据库并拉取表中数据到dataframe中、生成当前时间的时间戳数据、格式化为指定的格式(“%Y-%m-%d-%H-%M-%S“)并添加到csv文件名称中
bash case usage
Kubernetes 网络入门
想学自动化测试网课哪个好?过了人告诉你:适合自己的才是最重要
From scratch Blazor Server (6) - authentication based on strategy
为什么越来越多的开发者放弃使用Postman,而选择Eolink?
R语言ggplot2可视化:使用patchwork包的plot_layout函数将多个可视化图像组合起来,ncol参数指定行的个数、byrow参数指定按照行顺序排布图
R语言使用zoo包中的rollapply函数以滚动的方式、窗口移动的方式将指定函数应用于时间序列、计算时间序列的滚动标准差(设置每个窗口不重叠)