日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

DB2分區(qū)表增加分區(qū)

 亂七九糟 2015-06-10
DB2分區(qū)表增加分區(qū)
    最近,需要在DB2的分區(qū)表中增加新的分區(qū),用于存儲(chǔ)數(shù)據(jù),因此,就研究了DB2表的分區(qū)機(jī)制。現(xiàn)在總結(jié),實(shí)現(xiàn)的方式共有三種,分別是:
    1)、創(chuàng)建臨時(shí)表,將原表數(shù)據(jù)導(dǎo)入臨時(shí)表,之后將原表重建,擴(kuò)大分區(qū);
    2)、通過(guò)ALTER TABLE TAB_NAME ADD PARTITION,為表增加分區(qū);
    3)、創(chuàng)建臨時(shí)分區(qū)表,向臨時(shí)分區(qū)表中導(dǎo)入數(shù)據(jù),之后將臨時(shí)分區(qū)表設(shè)置為主表的一個(gè)分區(qū)。
    下面將分別說(shuō)明三種方式的具體實(shí)現(xiàn):
    前提:原分區(qū)表PART_MAIN,建表SQL為:
[sql] 
<span style="font-size:14px;">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'  
)  
;</span>  
  需要為PART_MAIN表,增加2012-12-01--2012-12-31的數(shù)據(jù)分區(qū)。
    方法一:
a、創(chuàng)建臨時(shí)表
[sql] 
<span style="font-size:14px;">CREATE TABLE TMP_PART_MAIN LIKE PART_MAIN;</span>  
b、將數(shù)據(jù)導(dǎo)入臨時(shí)表中
[sql] 
<span style="font-size:14px;">INSERT INTO TMP_PART_MAIN SELECT *   
FROM PART_MAIN;</span>  
c、重建原表
[sql] 
<span style="font-size:14px;">DROP TABLE PART_MAIN;</span>  
[sql] 
<span style="font-size:14px;">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',  
PARTITION P201212 STARTING '2012-12-01' ENDING '2012-12-31'  
)  
;</span>  
d、將數(shù)據(jù)從臨時(shí)表導(dǎo)入原表中
[sql] 
<span style="font-size:14px;">INSERT INTO PART_MAIN SELECT * FROM TMP_PART_MAIN;</span>  
注:該方法是最簡(jiǎn)單的一種實(shí)現(xiàn)方式,不需要掌握DB2分區(qū)知識(shí),就可以實(shí)現(xiàn),對(duì)于老鳥(niǎo)來(lái)說(shuō),這種方式是不屑使用的。下面的方法將是技術(shù)提升階段。
   方法二:
a、為表增加分區(qū)
[sql] 
ALTER TABLE PART_MAIN ADD PARTITION P201212 STARTING '2012-12-01' ENDING '2012-12-31'  
;  
b、增加分區(qū)OK,插入數(shù)據(jù)即可
注:該方法是最直接的,只要記住ALTER TABLE TAB_NAME ADD PARTITION命令就OK。
    方法三:
a、創(chuàng)建臨時(shí)分區(qū)表
[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、往臨時(shí)表中增加數(shù)據(jù)(此步可以省略,在最后一步執(zhí)行)
c、將臨時(shí)分區(qū)表設(shè)為原表的一個(gè)分區(qū)
[sql] 
ALTER TABLE PART_MAIN ATTACH   
PARTITION P201212 STARTING '2012-12-01' ENDING '2012-12-31'  
FROM PART_OTHER  
;  
注:此命令執(zhí)行后,臨時(shí)分區(qū)表PART_OTHER,將不以表的方式存在,而是作為PART_MAIN表的一個(gè)分區(qū)。
d、為原表新增加的分區(qū),設(shè)置訪問(wèn)權(quán)限
[sql] 
SET INTEGRITY FOR PART_MAIN  
ALLOW WRITE ACCESS  
IMMEDIATE CHECKED   
;  
OK,分區(qū)增加完成,可以往新分區(qū)中增加數(shù)據(jù)了。
注:該方法實(shí)現(xiàn)起來(lái)過(guò)于繁瑣,建議了解就好。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多