【发布时间】:2020-05-07 20:47:56
【问题描述】:
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'))
);
在上面的示例中,创建了一个范围哈希分区并将数据库分成四个部分,ts1、ts2、ts3、ts4。然后创建一个范围分区,将每个销售季度的数据分成四个部分(ts1、ts2、ts3、ts4)。即使将销售季度划分为分区(ts1、ts2、ts3、ts4),这些数据又进一步分为8个子分区?
如果有帮助,这是我用于示例的网站:https://docs.oracle.com/database/121/VLDBG/GUID-A596B6B1-62C7-4701-A872-BDC5632CEE43.htm
谢谢
【问题讨论】:
标签: sql oracle sqlplus psql database-partitioning