当前位置:网站首页>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
边栏推荐
- 第3章 搭建短视频App基础架构
- R语言拟合ARIMA模型并使用拟合模型进行预测推理、使用autoplot函数可视化ARIMA模型预测结果、可视化包含置信区间的预测结果
- 长城简漫·暑期安全篇⑤ 这个强,不能逞
- 基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
- [深入浅出]三位数排序
- Last blog for July
- 长江商业银行面试
- TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
- YOLOv5训练数据提示No labels found、with_suffix使用、yolov5训练时出现WARNING: Ignoring corrupted image and/or label
- 信创建设看广州|海泰方圆亮相2022 信创生态融合发展论坛
猜你喜欢
随机推荐
[Verilog] HDLBits Problem Solution - Circuits/Sequential Logic/Latches and Flip-Flops
__unaligned修饰指针
深入理解MySQL事务MVCC的核心概念以及底层原理
Unsupervised learning KMeans notes and examples
LyScript implements memory stack scanning
图像融合DDcGAN学习笔记
利用ChangeStream实现Amazon DocumentDB表级别容灾复制
php microtime encapsulates the tool class, calculates the running time of the interface (breakpoint)
从器件物理级提升到电路级
详解虚拟机!京东大佬出品HotSpot VM源码剖析笔记(附完整源码)
Go 语言快速入门指南: 介绍及安装
word标尺有哪些作用
R语言使用ggpubr包的ggtexttable函数可视化表格数据(直接绘制表格图或者在图像中添加表格数据)、使用tab_add_vline函数自定义表格中竖线(垂直线)的线条类型以及线条粗细
浅谈程序员的职业操守
899. 有序队列 : 最小表示法模板题
pandas连接oracle数据库并拉取表中数据到dataframe中、筛选当前时间(sysdate)到一天之前的所有数据(筛选一天范围数据)
How to do App Automation Testing?Practical sharing of the whole process of App automation testing
c语言进阶篇:内存函数
基于php校园医院门诊管理系统获取(php毕业设计)
【Verilog】HDLBits题解——Circuits/Sequential Logic/Latches and Flip-Flops