分布式,分区
--范围分区 create table b( bid number(4), bname varchar2(10), bsal number(8)) partition by range(bsal)( partition p2000 values less than (2000), partition p10000 values less than(10000), partition pmax values less than(MAXVALUE)) --插入,自动放入分区 insert into b values(1,'zhangsan',1999); --查询指定分区 select * from b partition(p2000); --hash分区 create table c( cid number(4), cname varchar2(10), cage number(2)) partition by hash(cname)( partition p1, partition p2 ) --hash分区2 create table d( cid number(4), cname varchar2(10), cage number(2)) partition by hash(cname) partitions 2 --列表 create table e( eid number(4), ename varchar2(10), edept varchar2(10) ) partition by list(edept)( partition leader values('项目经理','技术经理'), partition dev values('测试工程师','软件工程师'), partition dev values(DEFAULT) ) --组合分区 --按工作时间范围分区后,再分区中再按列表进行分区 create table f( fid number(4), fname varchar2(10), fdept varchar2(10), fdate date ) partition by range(fdate) subpartition by list(fdept) subpartition template( subpartition leader values('项目经理','技术经理'), subpartition dev values('测试工程师','软件工程师') ) ( partition p1 values less than(to_date('2008/01/01','yyyy/mm/dd')), partition p2 values less than(to_date('2009/01/01','yyyy/mm/dd')), partition p3 values less than(to_date('2010/01/01','yyyy/mm/dd')) ) --查询HASH分区的时候不用指定分区,因为根本不知道数据在哪一个分区, --系统会算出HASH值再确定在哪个分区查 --删除分区中的内容 delete b partition (pmax) --删除分区: 在范围分区中删除一个分区,分区中的内容也会消失 alter table b drop partition pmax; --添加分区:在范围分区中加入一个20000的分区 alter table b add partition p20000 values less than(20000); --合并分区,合并后,以范围最大的为上限,是list就是整合集合 alter table b merge partitions p2000,p10000 into partition p12000 --分区改名 alter table b rename partition p12000 to p10000 --查看一张表的分区,表名要大写 select table_name,partition_name from user_tab_partitions where table_name='B'