Oracle根据时间字段创建分区表

  • Post author:
  • Post category:其他


Oracle根据时间字段创建分区表并对之前的历史数据进行分区迁移

CREATE TABLE USER_INFOR_MESSAGE 
( 
 "IDNUMBER" NUMBER NOT NULL ,
 "MESSAGETYPE" NVARCHAR2(10) NULL ,
 "ACCNO" NVARCHAR2(32) NULL ,
 "CARDNO" NVARCHAR2(64) NULL ,
 "CARDID" NVARCHAR2(64) NULL ,
 "OLDCARDNO" NVARCHAR2(64) NULL ,
 "OLDCARDID" NVARCHAR2(64) NULL ,
 "CDTYPE" NVARCHAR2(32) NULL ,
 "USERNAME" NVARCHAR2(100) NULL ,
 "IDTYPE" NVARCHAR2(16) NULL ,
 "IDSERIAL" NVARCHAR2(64) NULL ,
 "PID" NVARCHAR2(32) NULL ,
 "DEPTSTR" NVARCHAR2(32) NULL ,
 "CTRCODE" NVARCHAR2(16) NULL ,
 "NATCODE" NVARCHAR2(16) NULL ,
 "SEX" NVARCHAR2(10) NULL ,
 "BIRTHDAY" NVARCHAR2(16) NULL ,
 "INSCHOOL" NVARCHAR2(16) NULL ,
 "JOBCODE" NVARCHAR2(16) NULL ,
 "RECTYPE" NVARCHAR2(16) NULL ,
 "GRADE" NVARCHAR2(16) NULL ,
 "IDSERIAL1" NVARCHAR2(32) NULL ,
 "MODIFYDATE" NVARCHAR2(32) NULL ,
 "IDTYPE1" NVARCHAR2(16) NULL ,
 "EFFECTDATE" NVARCHAR2(32) NULL ,
 "RELATIONCARDNO" NVARCHAR2(32) NULL ,
 "RELATIONCARDID" NVARCHAR2(32) NULL ,
 "SCHOOLCODE" NVARCHAR2(16) NULL ,
 "ORGID" NVARCHAR2(16) NULL ,
 "REMARK" NVARCHAR2(16) NULL ,
 "REMARK1" NVARCHAR2(16) NULL ,
 "IDENTITYNO" NVARCHAR2(16) NULL ,
 "MODIFYDATETIME" DATE NULL ,
 "CREATETIME" DATE NULL ,
 "STATE" NVARCHAR2(10) NULL ,
 "IMPORT_REMARK" NVARCHAR2(255) NULL 
)
PARTITION BY RANGE (MODIFYDATE) INTERVAL ( NUMTOYMINTERVAL(1, 'month') )
(
 PARTITION LESS_2018 VALUES LESS THAN(TO_DATE('2018-01-01', 'yyyy-mm-dd'))
 PARTITION LESS_2019 VALUES LESS THAN(TO_DATE('2019-01-01', 'yyyy-mm-dd'))
 PARTITION LESS_2020 VALUES LESS THAN(TO_DATE('2020-01-01', 'yyyy-mm-dd'))
 PARTITION LESS_2021 VALUES LESS THAN(TO_DATE('2021-10-12', 'yyyy-mm-dd'))
)

单表数据2亿+ 指定月数据查询ms级



版权声明:本文为thankgod7原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。