Oracle 8i以后推出了分区选项。分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护,备份,恢复,事务及查询性能。 分区的具体优点: 1, 增强可用性:如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍可以使用; 2, 减少关闭时间:如果系统故障只影响表的一部份分区,那么只有这部份分区需要修复,可能比整个大表修复花的时间更少; 3, 维护轻松:如果需要得建表,独产管理每个公区比管理单个大表要轻松得多; 4, 均衡I/O:可以把表的不同分区分配到不同的磁盘来平衡I/O改善性能; 5, 改善性能:对大表的查询,增加,修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快,在数据仓库的TP查询特别有用。 6, 分区对用户透明,最终用户感觉不到分区的存在。 列表分区表create table BS_CDR_WLAN_LOC_01 ( DAY_NUMBER NUMBER(2) not null, 。。。。。。 TPREMARK VARCHAR2(200) ) partition by list (DAY_NUMBER) ( partition P_BS_CDR_OTH_LOC_01 values (1), partition P_BS_CDR_OTH_LOC_02 values (2), 。。。。。。。 partition P_BS_CDR_OTH_LOC_31 values (31) ); 按范围分区 注:就是按一定range来分区 SQL> create table niegc_part 2 ( 3 part_id integer primary key, 4 part_date date, 5 part_dec varchar2(100) 6 ) 7 partition by range(part_date) 8 ( 9 partition part_01 values less than(to_date(2006-01-01,yyyy-mm-dd)) , 10 partition part_02 values less than(to_date(2007-01-01,yyyy-mm-dd)) , 11 partition part_03 values less than(maxvalue) 12 ); 1