欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

详细讲解Oracle表分区的相关概念及其优点

程序员文章站 2024-02-10 23:08:16
...

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle 8i以后推出了分区选项。分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护、备份、恢复、事

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

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] [2]

详细讲解Oracle表分区的相关概念及其优点