现有客户相关的表,cus_acc(cusId--客户ID,acno--客户卡号,product--购买产品,stat_date--统计日期,...)
因每天都有大量的客户购买大量的产品,所以cus_acc表的数据量很大,而且表中只保留了40天的数据,
每天晚上自动调用存储过程将当天的交易数据导入cus_acc表,并将40天以前的数据删除,现想将cus_acc表改成分区表,
如每10天一分区,该怎样分啊,因cus_acc表中的stat_date每天都在变化,不知道怎样取日期分区?谢谢
因每天都有大量的客户购买大量的产品,所以cus_acc表的数据量很大,而且表中只保留了40天的数据,
每天晚上自动调用存储过程将当天的交易数据导入cus_acc表,并将40天以前的数据删除,现想将cus_acc表改成分区表,
如每10天一分区,该怎样分啊,因cus_acc表中的stat_date每天都在变化,不知道怎样取日期分区?谢谢
create table cus_acc(...)
partition by range(stat_date)
(
partition P_10_01_1 values less than date '2010-01-11' ,
partition P_10_01_2 values less than date '2010-01-21' ,
partition P_10_01_3 values less than date '2010-02-01' ,
partition P_10_02_1 values less than date '2010-02-11' ,
partition P_10_02_2 values less than date '2010-02-21' ,
partition P_10_02_3 values less than date '2010-03-01' ,
................
)
(PARTITION P1 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),
PARTITION P2 VALUES LESS THAN (TO_DATE('2006-1-1', 'YYYY-MM-DD')),
PARTITION P3 VALUES LESS THAN (TO_DATE('2007-1-1', 'YYYY-MM-DD')),
PARTITION P4 VALUES LESS THAN (TO_DATE('2008-1-1', 'YYYY-MM-DD')),
PARTITION P5 VALUES LESS THAN (MAXVALUE))
AS SELECT ID, TIME FROM T; 表已创建 SQL> RENAME T TO T_OLD;
表已重命名。 SQL> RENAME T_NEW TO T;
表已重命名。