CREATE TABLE sales
( prod_id NUMBER(6)
, cust_id NUMBER
, time_id DATE
, channel_id CHAR(1)
, promo_id NUMBER(6)
, quantity_sold NUMBER(3)
, amount_sold NUMBER(10,2)
)
PARTITION BY RANGE (time_id) SUBPARTITION BY HASH (cust_id)
SUBPARTITIONS 8 STORE IN (ts1, ts2, ts3, ts4)
( PARTITION sales_q1_2006 VALUES LESS THAN (TO_DATE('01-APR-2006','dd-MON-yyyy'))
, PARTITION sales_q2_2006 VALUES LESS THAN (TO_DATE('01-JUL-2006','dd-MON-yyyy'))
, PARTITION sales_q3_2006 VALUES LESS THAN (TO_DATE('01-OCT-2006','dd-MON-yyyy'))
, PARTITION sales_q4_2006 VALUES LESS THAN (TO_DATE('01-JAN-2007','dd-MON-yyyy'))
);
1条答案
按热度按时间slsn1g291#
我不知道你为什么要这样做,但最好的方法是使用oracle企业数据库,并添加分区到您的表的范围或列表,这是获得更好的性能的方式。如果你需要数百万行这样做,但如果你需要练习的东西或找到一些方法来创建新的表与月在休眠中,最好知道休眠没有这个功能,所以,你可以创建一个shell程序或者类似的东西(或者使用java来创建新的hibxml配置).不要在javabeans中使用注解而使用xml文件.看看这个:https://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm