Greenplum分区表操作汇总
haoteby 2025-03-07 19:08 23 浏览
1.Greenplum分区表简介
在数据库中,分区表,有时候我们也叫分库分表,底层的逻辑基本都是一样的,就是将一个大表在物理上分布在不同数据库上,数据也拆分开,方便查询时进行分区裁剪以减少查询数据量。GPDB中的分区表功能在开发时,参考了Oracle的分区表语法,在GPDB中,可以直接向父表插入数据,也可以直接向子表插入数据,当直接向父表插入数据时,GPDB会自动检测并将数据定位到子表中。
2.如何创建分区表
GPDB中,支持两种分区表,范围分区(range)和列表分区(list),下面展开介绍一下具体的创建语法。
2.1 范围分区(range)
根据分区字段的值范围区间来分区,每一个分区就是一个子表
create table t_partition_range
(
id int,
name varchar(64),
fdate varchar(64)
) distributed by (id)
partition by range(fdate)
(
partition p1 start ('2022-01-01') inclusive end ('2022-02-01') exclusive,
partition p2 start ('2022-02-01') inclusive end ('2022-03-01') exclusive,
default partition default_p
);
注意上面分区表我定义的日期,前后是有衔接关系的,如果不衔接起来,可能发生缺少分区的情况:
inclusive :指定包含,例如上面的 start ('2022-01-01') inclusive 则是包含'2022-01-01'
exclusive : 指定不包含, 例如上面的 end ('2022-02-01') exclusive 则是不包含'2022-02-01'
2.2 快速范围分区(every)
根据选定的范围,跨越基数,快速分区每一个子表
create table t_partition_every_1
(
id int,
name varchar(64),
fdate date
)
distributed by (id)
partition by range (fdate)
(
partition pn_ start ('2022-01-01'::date) end ('2022-12-31'::date) every ('1 day'::interval),
default partition default_p
);
every:指定跨越基数
2.3 列表分区(list)
根据值得分组,相同的数据归类到一组,也就一个分区中
create table t_partition_list
(
id int,
name varchar(64),
fdate varchar(10)
)
distributed by (id)
partition by list (fdate)
(
partition p1 values ('2022-01-01', '2017-01-02'),
partition p2 values ('2022-01-03'),
default partition default_p
);
3.分区相关操作
3.1 分区拆分
拆分普通分区:
将分区p2在 '2022-02-20' 左右切分成两块
alter table t_partition_range split partition p2 at ('2022-02-20') into (partition p2, partition p3);
切割默认分区:
alter table t_partition_range split default partition start ('2022-03-01') end ('2022-03-31') into (partition p4, default partition);
3.2 新增分区
如果存在默认分区(default partition),则不能新增(add)分区,只能拆分默认分区(split default partition)
alter table t_partition_range_1 add partition p2 start ('2022-02-01') end ('2022-02-31');
3.3 删除分区
alter table t_partition_range_1 DROP partition p2;
3.4 清空分区数据
清空分区表数据,相当于删除分区,然后再新建一个
alter table t_partition_range_1 truncate partition p1;
或根据rank号去删除对应分区,如下:
alter table sales truncate partition for(rank(1));
4.子分区创建与操作
4.1 子分区创建
在GPDB中,分区是可以嵌套增加的,分区下面可以有子分区,如下:
create table t_partition_range_2
(
id int,
name varchar(64),
fdate varchar(10)
)
distributed by (id)
partition by range(fdate)
subpartition by list(name)
subpartition template
(
subpartition c1 values ('abcd'),
subpartition c2 values ('efgh')
)
(
partition p1 start ('2022-01-01') end ('2022-01-31')
);
上面的分区中,p1会再分两个c1/c2子分区
4.2 truncate 子分区
alter table t_partition_range_2 alter partition p1 truncate partition c2;
4.3 drop 子分区
alter table t_partition_range_2 alter partition p1 drop partition c2;
相关推荐
- 蜗牛矿机改NAS后远程访问教程,花生壳盒子完美解决
-
今年不少烧友都在玩星际蜗牛的机器,,我也跟风入手一台,用星际蜗牛改装了一台NAS,在星际蜗牛上安装了多个版本的NAS系统,各方面都不错,就是远程访问功能实现不了。由于本地运营商不提供公网IP,就只能考...
- 不吹不黑,揭秘网工提升效率的7大神器!
-
作为一个网络工程师,在日常工作中肯定会使用许多方便的实用软件来提高效率,下面就简单介绍一下网络工程师常用的7种软件。01、FileZilla...
- 有线网间歇性断网?3个步骤帮你解决 90% 有线网中断问题
-
有线网络偶尔中断可能由硬件故障、网络设置、线路问题或外部干扰等多种因素导致。一、常见原因及验证方法1.硬件设备...
- 「这 25 年我被天气 PUA 的日常」
-
翻出手机相册里每年6月拍的天空,白到发亮的云层下总配着同一句文案:"热到裂开"。掐指一算被高温暴打的四分之一个世纪里,每个夏天都在上演《关于我和天气互相折磨的那些年》。2003年绝对...
- 数码爱好者必备工具:POWER-Z KM001C多功能测试仪
-
作为一名数码类爱好者,平时要测试手机、平板、充电器、充电宝等等电子产品,一款好用的测试工具尤为重要。近期,通过充电头网购入了一款POWER-ZKM001C多功能测试仪,主要用来平日里测试快充头和充电...
- 监控摄像头常用测试命令大全(摄像头测试项目)
-
以下是监控摄像头在Linux系统中常用的测试命令大全,涵盖设备检测、参数调整、视频录制、网络监控等方面,结合多个来源的信息整理而成:一、摄像头设备检测与调用1.查看摄像头设备①`ls/dev/v...
- 中级消防设施操作员考试-计算机基础知识学习笔记
-
消防设施操作员模块八计算机基础课程摘要消防设施操作员模块八主要介绍了计算机基础知识,包括计算机系统的组成和功能、硬件和软件、输入输出设备、外存储器、内存条、中央处理器、机箱等硬件部分,以及系统软件和应...
- 今日揭秘:上网行为监控软件是如何监控的?7个功能图文介绍
-
同事A:“哎,你们听说了吗?隔壁部门小王昨天上班刷短视频被领导抓包了!”同事B:“真的假的?公司不是没装摄像头吗?怎么知道的?”...
- USB详细介绍(usb简介)
-
USB概念1.概念USB是通用串行总线(UniversalSerialBus),分为HOST/DEVICE两个角色,所有的数据传输都由主机主动发起,而设备只是被动的负责应答。例如,在读数据时,U...
- 程序员必备,Fiddler和spy-debugger的远程调试手机APP
-
背景笔者从事Web开发,不论是PC端还是APP端,调试抓包都是必不可少的环节,懂前端的人都知道,PC端调试非常方便,Chrome或者火狐等浏览器等都自带了非常方便且易于使用的开发者工具,便于我们抓包调...
- 通用无线网络破解抓包跑包教程(wifi抓包跑包教程)
-
由于很多的信号很强,但是后面都没有带WPS,怎么办呢,现在我给大家介绍一个简单的抓包跑字典的办法来解决这个难题,首先搜索信号,水滴,关注我的这个应该都会了吧!选择一个信号,点击启动,记住不是点...
- 抓包神器wireshark安装保姆级教程
-
简介当我们进行网络抓包时,我们通常需要借助其他的工具进行抓取,比如Charles,fiddler等,今天我们给大家介绍一款同样非常流行的抓包工具——wireshark,本文将介绍wireshark的安...
- 别让资料拖后腿!STM32开发‘作弊包’开源,工程师直呼内行!
-
一、开发环境与编译工具...
- 背完这套 Java 面试八股文,自动解锁面试牛逼症被动技能
-
前言国内的互联网面试,恐怕是现存的、最接近科举考试的制度。很多人对八股文都嗤之以鼻,认为无法衡量出一个程序员的真是水平。还有一部分人则是深恶痛绝,因为实在太难背了。但是国内大环境如此,互联网IT行...
- 混合云的多活架构指南(混合云架构图)
-
文/董晓聪吕亚霖在之前的《如何正确选择多云架构?》一文中介绍了混合云(广义的多云)的诸多架构以及各自的优势,本篇会重点来介绍下混合云下的多活架构。...