使用分区-2

创建子分区的示例代码

======================================

RANGE-HASH-9i

-------------------------


CREATE TABLE SUBPART
(
ID NUMBER(10) PRIMARY KEY,
NAME VARCHAR2(20)
)
PARTITION BY RANGE(ID)
SUBPARTITION BY HASH(NAME)
SUBPARTITIONS 3
(
PARTITION P1 VALUES LESS THAN(10),
PARTITION P2 VALUES LESS THAN(20),
PARTITION P3 VALUES LESS THAN(MAXVALUE)
); 
在这种情况下,外部合作伙伴是RANGE

内部(子)分区由HASH组成

在上面的示例中,它在每个分区中创建了3个子分区。

创建子分区的示例代码

======================================

范围清单-每10克

------------------------------------


CREATE TABLE RL
(
ID NUMBER(10) PRIMARY KEY,
NAME VARCHAR2(20)
)
PARTITION BY RANGE(ID)
SUBPARTITION BY LIST(NAME)
(
PARTITION P1 VALUES LESS THAN(10)
(
SUBPARTITION PP1 VALUES ('A','B'),
SUBPARTITION PP2 VALUES ('C','D')
),
PARTITION P2 VALUES LESS THAN(20)
(
SUBPARTITION PP3 VALUES ('A','B'),
SUBPARTITION PP4 VALUES ('C','D')
)
) 

仅在版本10中尝试此代码。

在这种情况下,主分区由RANGE划分,子分区由LIST划分

分割现有分区

-------------------------------------------------


Alter Table <t.n.> Split Partition P1 At (10) Into 
(partition P3,partition P4); 

合并现有分区

-------------------------------------------------- -----


Alter Table <t.n.>
Merge Partitions P1,p2 Into Partition P3; 
------------------

交换分区

-------------------------------------------


Alter Table <t.n.>
Exchange Partition P1 With Table<t.n.>including/excluding Indexes With/without Validation 
分区表的限制
================================
1.partitions只能合并或拆分为相同类型。

2.partition无法添加到非分区表中。

3.如果删除分区,它将与所有记录一起删除。

4.无法从分区表中删除最后一个现有分区。 对于那滴桌子本身。

5.如果在创建表时在最后一个分区中指定了maxvalue,则不能将范围比最后一个现有分区更多的另一个分区添加到表中。

6.如果通过复制表的结构创建表,则源表的分区将不会复制到新表。

From: https://bytes.com/topic/oracle/insights/768495-using-partition-2-a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值