Oracle 数据表进行分区

本文详细介绍了在Oracle数据库中创建分区表,包括手动分区和自动分区的方法,如何导入数据并启用行迁移,创建本地索引,以及表名称的修改和非分区表的删除。
摘要由CSDN通过智能技术生成

1.1  创建分区表并导⼊数据(普通表分区⽅式)

        注意:

        1. ENABLE ROW MOVEMENT 为启⽤⾏迁移,⽤于分区键的值修改时数据可以⾃动迁

移到对应的分区;
        2. 创建索引时指定索引为本地索引 LOCAL ;
        3. AS SELECT * FROM ORDER_INFO_COPY 可直接将原表数据导⼊(数据量⼤
时需要时间⽐较久);
        4. 创建时注意索引名称不要和之前重复
        
                    
CREATE TABLE ORDER_INFO_COPY_P
(
 ID ,
 ORDER_NAME,
 ORDER_NUM,
 CREATE_TIME,
 TEAM_ID,
 CONSTRAINT CSIPIND_P_PK PRIMARY KEY(ID, CREATE_TIME)
)
 PARTITION BY RANGE (CREATE_TIME)(
     PARTITION P202206 VALUES LESS THAN(TO_DATE('2022-07', 'YYYYMM')),
     PARTITION P202207 VALUES LESS THAN(TO_DATE('2022-08', 'YYYYMM')),
     PARTITION P202208 VALUES LESS THAN(TO_DATE('2022-09', 'YYYYMM')),
     PARTITION P202209 VALUES LESS THAN(TO_DATE('2022-10', 'YYYYMM')),
     PARTITION P202210 VALUES LESS THAN(TO_DATE('2022-11', 'YYYYMM')),
     PARTITION P202211 VALUES LESS THAN(TO_DATE('2022-12', 'YYYYMM'))
 ) ENABLE ROW MOVEMENT
 AS SELECT * FROM ORDER_INFO_COPY

创建索引时指定索引为本地索引 LOCAL

 CREATE INDEX IDX_CSI_CP_TEAM_ID
 ON ORDER_INFO_COPY_P (TEAM_ID) LOCAL

1.2 创建分区表并导⼊数据(自动分区⽅式)

        

CREATE TABLE ORDER_INFO_COPY_P
(
 ID ,
 ORDER_NAME,
 ORDER_NUM,
 CREATE_TIME,
 TEAM_ID,
 CONSTRAINT CSIPIND_P PRIMARY KEY(ID, CREATE_TIME)
) PARTITION BY RANGE (CREATE_TIME) INTERVAL (NUMTOYMINTERVAL
(1,'MONTH'))(
PARTITION P202206 VALUES LESS THAN(TO_DATE('2022-07', 'YYYYMM'))
) ENABLE ROW MOVEMENT
AS SELECT * FROM CARC_SIGN_INFO
;
-- 索引同普通⽅式

注意:

        通过使⽤ INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) 来周期性⾃动创建分Oracle 11g 开始⽀持
        ⾃动⽣成的分区名称前缀为: SYS_P
        如果需要修改分区名称: ALTER TABLE ORDER_INFO_COPY RENAME PARTITION  SYS_P41 TO P202210;

1.3  修改表名称

        

-- 将原表名称修改为其他
ALTER TABLE ORDER_INFO_COPY RENAME TO ORDER_INFO_COPY_BACK;

-- 修改分区后的表为原表名称
ALTER TABLE ORDER_INFO_COPY_P RENAME TO ORDER_INFO_COPY;

1.4  删除原⾮分区表

        

DROP TABLE ORDER_INFO_COPY_BACK PURGE;

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值