广州远佳信息科技有限公司 Oracle 数据库教程 ——oracle 分区表详解 一、分区表的概述: Oracle 的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。 1、分区表的优点: (1)由于将数据分散到各个分区中,减少了数据损坏的可能性; (2)可以对单独的分区进行备份和恢复; (3)可以将分区映射到不 同 的物 理磁 盘 上 ,来分散IO; (4)提高可管理性、可用性和性能。 2、什 么 时候 用分区表 (1) 单表过大,超过一定 范 围 ,建议 以 g 计 算 表,均 可考 虑 用分区 (2)历 史 数据据需 要 剥 离 的 (3)查询特征 非 常明 显 ,比 如 是按 整 年 、整 月 或者 按 某个范 围 ! 3、分区表的类 型 1、range 分区,按 范 围 2、list 分区,列 举 分区 3、hash 分区,根 据hash 值 进行的散列 分区 4、复合 分区,9i 开 始 ,Oracle 就包 括 了 2 种 复合 分区,RANGE-HASH 和 RANGE-LIST。在11g,Oracle一下 就提供 了 4 种 复合 分区:RANGE-RANGE、LIST-RANGE、LIST-HASH 和 LIST-LIST。 二 、创 建分区的举 例 1、range 分区 create table p_table( obj_id number(10), object_id number(10), object_name varchar2(128), owner varchar2(30), 广州远佳信息科技有限公司 object_type varchar2(19), created date) partition by range (obj_id) (partition obj_id1 values less than (20000), partition obj_id2 values less than (40000), partition obj_id3 values less than (60000), partition obj_id4 values less than (80000), partition obj_id5 values less than (99999)); 2、list 分区 create table l_table( obj_id number(10), object_id number(10), object_name var...