Oracle oracle10g 根据时间进行表分区

一.场景
  • 今天做项目,遇到数据量非常大的,大概有40多亿级别的数据量,而且我们又没有用Nosql数据库,用的oracle,故我们需要对表进行分区,方便存储和查询使用
  • 由于oracle 10G ,不能够根据时间进行自动分区,故需要根据时间进行手动分区
2.分区示例
CREATE TABLE "INCOME"."FDL_DETAILS" (
"ID" NUMBER NOT NULL ,
"EX_DATE" VARCHAR2(20 BYTE) NULL ,
"DEP_DATE" VARCHAR2(10 BYTE) NULL ,
"EX_DIF" NUMBER(5) NULL ,
"AIR_CODE" VARCHAR2(5 BYTE) NULL ,
"FLIGHT_NO" VARCHAR2(10 BYTE) NULL ,
"UP_LOCATION" VARCHAR2(5 BYTE) NULL ,
"DIS_LOCATION" VARCHAR2(5 BYTE) NULL 
)
partition by range (EX_DATE)
(
--时间范围小于'2019-03-01'的数据放 一个分区
partition pp1   values less than ('2010-03-01'),  
partition pp2   values less than ('2010-06-01'),
partition pp3   values less than ('2010-09-01'),
partition pp4   values less than ('2010-12-01'),
 --如果某些记录暂无法预测范围,可以创建maxvalue分区,所----有不在指定范围内的记录都会被存储到maxvalue所在分区中。
partition pp5 values less than (maxvalue)          
);

猜你喜欢

转载自blog.csdn.net/m0_38068812/article/details/88179961