admin管理员组文章数量:1530922
2024年7月13日发(作者:)
DB2分区表增加分区
DB2分区表增加分区
最近,需要在DB2的分区表中增加新的分区,用于存储数据,因
此,就研究了DB2表的分区机制。现在总结,实现的方式共有三种,
分别是:
1)、创建临时表,将原表数据导入临时表,之后将原表重建,扩
大分区;
2)、通过ALTER TABLE TAB_NAME ADD PARTITION,为表增
加分区;
3)、创建临时分区表,向临时分区表中导入数据,之后将临时分
区表设置为主表的一个分区。
下面将分别说明三种方式的具体实现:
前提:原分区表PART_MAIN,建表SQL为:
[sql]
CREATE TABLE PART_MAIN(
P_ID VARCHAR(10),
P_DATE DATE
)
PARTITION BY RANGE(P_DATE) (
PARTITION OTHERS STARTING MINVALUE ENDING '2012-
03-31',
PARTITION P201204 STARTING '2012-04-01' ENDING '2012-
04-30',
PARTITION P201205 STARTING '2012-05-01' ENDING '2012-
05-31',
PARTITION P201206 STARTING '2012-06-01' ENDING '2012-
06-30'
)
;
需要为PART_MAIN表,增加2012-12-01--2012-12-31的数据
分区。
方法一:
a、创建临时表
[sql]
CREATE TABLE
TMP_PART_MAIN LIKE PART_MAIN;
b、将数据导入临时表中
[sql]
INSERT INTO
TMP_PART_MAIN SELECT *
FROM PART_MAIN;
c、重建原表
[sql]
[sql] CREATE TABLE PART_MAIN( P_ID VARCHAR(10), P_DATE DATE ) PARTITION BY RANGE(P_DATE) ( PARTITION OTHERS STARTING MINVALUE ENDING '2012- 03-31', PARTITION P201204 STARTING '2012-04-01' ENDING '2012- 04-30', PARTITION P201205 STARTING '2012-05-01' ENDING '2012- 05-31', PARTITION P201206 STARTING '2012-06-01' ENDING '2012- 06-30', style="font-size:14px;">DROP TABLE PART_MAIN;
PARTITION P201212 STARTING '2012-12-01' ENDING '2012-
12-31'
)
;
d、将数据从临时表导入原表中
[sql]
INSERT INTO PART_MAIN
SELECT * FROM TMP_PART_MAIN;
注:该方法是最简单的一种实现方式,不需要掌握DB2分区知识,
就可以实现,对于老鸟来说,这种方式是不屑使用的。下面的方法将
是技术提升阶段。
方法二:
a、为表增加分区
[sql]
ALTER TABLE PART_MAIN ADD PARTITION P201212
STARTING '2012-12-01' ENDING '2012-12-31'
;
b、增加分区OK,插入数据即可
注:该方法是最直接的,只要记住ALTER TABLE TAB_NAME
ADD PARTITION命令就OK。
方法三:
a、创建临时分区表
[sql]
CREATE TABLE PART_OTHER (
P_ID VARCHAR(10),
P_DATE DATE
)
PARTITION BY RANGE(P_DATE) (
PARTITION P201212 STARTING '2012-12-01' ENDING '2012-
12-31'
)
;
b、往临时表中增加数据(此步可以省略,在最后一步执行)
c、将临时分区表设为原表的一个分区
[sql]
ALTER TABLE PART_MAIN ATTACH
PARTITION P201212 STARTING '2012-12-01' ENDING '2012-
12-31'
FROM PART_OTHER
;
注:此命令执行后,临时分区表PART_OTHER,将不以表的方式
存在,而是作为PART_MAIN表的一个分区。
d、为原表新增加的分区,设置访问权限
[sql]
SET INTEGRITY FOR PART_MAIN
ALLOW WRITE ACCESS
IMMEDIATE CHECKED
;
OK,分区增加完成,可以往新分区中增加数据了。
注:该方法实现起来过于繁琐,建议了解就好。
版权声明:本文标题:DB2分区表增加分区 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1720876282a847806.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论