partition by list(id)(
partition t_list_p1 values (1,2,3,4,5,6,7,8,9) tablespace tbspart01,
partition t_list_p2 values (10,11,12,13,14,15,16,17,18,19) tablespace tbspart02,
partition t_list_p3 values (20,21,22,23,24,25,26,27,28,29) tablespace tbspart03,
partition t_list_pd values (default) tablespace tbspart04)
oracle组合分区由于Interval分区是针对range的,11g-12.1版本,目前只有Interval—*一共3种Interval的复合分区
range-list方法:
partition by range (updatetime)
interval (numtodsinterval(1,'day'))
subpartition by list(PSNCODE)
SUBPARTITION TEMPLATE(
SUBPARTITION REGION_1 values('038716'),
SUBPARTITION REGION_2 values('270719') )
(partition p1 values less than(to_date('2014-05-01','yyyy-mm-dd')))
注意:每个分区有2个子分区,分区的子分区需要手动添加
Interval分区目前测试,只支持range先分区的方式
range-hash方法:每个分区10个子hash分区(可以指定每个子分区到单独的表空间)
partition by range (updatetime)
interval(numtodsinterval(1,'day'))
subpartition by hash(PSNCODE)
SUBPARTITION template
( SUBPARTITION p1 TABLESPACE ts1
, SUBPARTITION p2 TABLESPACE ts2
, SUBPARTITION p3 TABLESPACE ts3
, SUBPARTITION P4 TABLESPACE ts4
)
(partition p1 values less than(to_date('2014-05-01','yyyy-mm-dd')))
注意:这种方式可以实现完全自动的分区,非常适合自增长特性的10位数以上的大表
hash分区最好是2的次方个,不然数据会分布不均
range-range方法:子分区需要手动添加,这种分区需要一般比较少见
PARTITION BY RANGE (time_id)
INTERVAL (NUMTODSINTERVAL(1,'DAY'))
SUBPARTITION BY RANGE(amount_sold)
SUBPARTITION TEMPLATE
( SUBPARTITION p_low VALUES LESS THAN (1000)
, SUBPARTITION p_medium VALUES LESS THAN (4000)
, SUBPARTITION p_high VALUES LESS THAN (8000)
, SUBPARTITION p_ultimate VALUES LESS THAN (maxvalue)
)
(PARTITION before_2000 VALUES LESS THAN (TO_DATE('01-JAN-2000','dd-MON-yyyy')) )
是。oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。
分区提供以下优点:
由于将数据分散到各个分区中,减少了数据损坏的可能性;
可以对单独的分区进行备份和恢复;
可以将分区映射到不同的物理磁盘上,来分散IO;
提高可管理性、可用性和性能。
Oracle提供了以下几种分区类型:
范围分区(range);
哈希分区(hash);
列表分区(list);
范围-哈希复合分区(range-hash);
范围-列表复合分区(range-list)。
Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的方式进行转变。
索引也可以进行分区,分区索引有两种类型:global和local。对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。当对分区进行维护 *** 作时,通常会导致全局索引的INVALDED,必须在执行完 *** 作后REBUILD。Oracle9i提供了UPDATE GLOBAL INDEXES语句,可以使在进行分区维护的同时重建全局索引。
全局索引可以包含多个分区的值 局部索引比全局索引容易管理,而全局索引比较快。
所以请你必须建OK。
如果你不建的话,在索引以及调用时会增加反应时间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)