首页  ·  知识 ·  数据库
ORACLE分区表
网友  收集    编辑:德仔   图片来源:网络
在应用系统中,如果某个表的数据量很大时,为了保持
 

在应用系统中,如果某个表的数据量很大时,为了保持数据库的性能,一般都考虑使用分区表,分区表主要有三种分区方式,分别是范围(RANGE)、列表(LIST)、哈希(HASH)分区,根据表的特性选择分区类型,一般情况下用RANGE和LIST两种就够了

.................

 

HASH分区俺没用过,不是很熟,下面就只说RANGE和LIST两种分区表的创建和管理(列表LIST分区是9I之后才有,8I没有的)

1、创建分区

--创建范围(RANGE)分区表的语法:
create table test_tbl(emp_name varchar2(50), emp_loc varchar2(50), emp_hire_date date)
partition by range(emp_hire_date)(
partition p_hire_date1 values less than (to_date('2000-01-01','yyyy-mm-dd')) tablespace t_hire_date1,
partition p_hire_date2 values less than (to_date('2001-01-01','yyyy-mm-dd')) tablespace t_hire_date2,
partition p_hire_date3 values less than (to_date('2002-01-01','yyyy-mm-dd')) tablespace t_hire_date3
...
partition p_hire_dateN values less than (maxvalue) tablespace t_hire_dateN
)

--创建列表(LIST)分区表的语法:
create table test_tbl(emp_name varchar2(50), emp_loc varchar2(50), emp_hire_date date)
partition by list(emp_loc)(
partition p_loc1 values ('GZ') tablespace t_hire_date1,
partition p_loc2 values ('BJ') tablespace t_hire_date2,
partition p_loc3 values ('SH') tablespace t_hire_date3
)

2、管理分区

--增加分区(如果表分区有MAXVALUE,不能再增加分区)
alter table test_tbl add partition p_hire_date4 values less than(to_date('2002-06-01','yyyy-mm-dd'))

--删除分区
alter table test_tbl drop partition p_hire_date4

--截断分区(删除分区的数据)
alter table test_tbl truncate partition p_hire_date4

--拆分分区(拆分后,数据以1999-01-01为临界分别存放在两个分区,p_hire_date1不再存在)
alter table test_tbl split partition p_hire_date1 at(to_date('1999-01-01','yyyy-mm-dd'))
into
(
partition p_hire_date11,
partition p_hire_date12
)

--合并分区(合并后,p_hire_date11和p_hire_date12两个分区就不存在了)
alter table test_tbl merge partitions p_hire_date11,p_hire_date12 into partition p_hire_date1

--交换分区
alter table test_tbl exchange partition p_hire_date1 with table test_tbl2

当要把数据很大的表test_tbl2的数据插入分区表test_tbl中,如果用insert into是很低性能的,最好方法是用交换分区方法。但要注意,交换分区时,当使用without validation时,数据是不验证test_tbl2表的数据是否都能满足分区p_hire_date1的条件

本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的