--创建范围分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
partition by range (sal)
(
partition p1 values less than (1000),
partition p2 values less than (2000),
partition p3 values less than (3000)
--如果是日期 to_date('2004-01-01','YYYY-MM-DD')或 date '2004-01-01'
);
--创建散列分区
create table temp3
(
empno number ,
ename varchar2(1000),
sal number
)
partition by hash (sal)
(
partition p1,
partition p2,
partition p3,
partition p4
);
或
create table temp3
(
empno number ,
ename varchar2(1000),
sal number
)
partition by hash (sal)
partitions 4;--创建(范围-散列)复合分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
partition by range (sal)
subpartition by hash (empno)
subpartitions 5
(
partition p1 values less than (1000),
partition p2 values less than (2000),
partition p3 values less than (3000)
)
--创建(范围-列表)复合分区
create table temp1
(
empno number ,
ename varchar2(1000),
sal number
)
PARTITION BY RANGE (sal)
SUBPARTITION BY LIST (ename)
SUBPARTITION TEMPLATE
(SUBPARTITION man VALUES ('刘德华', '张学友'),
SUBPARTITION woman VALUES ('王菲', '赵薇'),
SUBPARTITION other VALUES (DEFAULT))
(PARTITION p1 VALUES LESS THAN (1000),
PARTITION p2 VALUES LESS THAN (2500),
PARTITION p3 VALUES LESS THAN (3000));
--创建列表分区create table temp2
(
empno number(10) ,
ename varchar2(1000),
sal number(10)
)
partition by list (ename)
(
partition ldh values ('刘德华'),
partition zrf values ('周润发'),
partition qt values ('王菲','赵薇')
);----------------------------------以上决定是本人自己编写出来的。复合分区:两种分区方式一起用列表分区:与指定的值相符合的分为一个区范围分区:在指定的范围分为一个区散列分区:无规则分区,系统自带的一个算法进行分区希望以上对你有帮助!
搜一下:oracle中表的所有分区方式,以及适用范围,并举出相应的例子
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....