使用新的list分割方法提高灵活性

ZDNet软件频道 时间:2004-03-08 作者: |  我要评论()
本文关键词:oracletips
Oracle9i现在有两个方法可以完成分割:range分割和新的list分割。但是range分割需要标量数值,而list分割允许使用非标量数值。
本文译自Builder.com,未经许可请勿转载

Oracle9i现在有两个方法可以完成分割:range分割和新的list分割。但是range分割需要标量数值,而list分割允许使用非标量数值。

要区分range分割和list分割,让我们看一个简单的例子。现在我们看一个range分割的表,然后使用area_code来分割数据:

Create table customer
(
   Last_name varchar2(30),
   area_code number
   . . .
)
PARTITION BY RANGE (area_code)
(
   PARTITION part_505 values less than(505),
   PARTITION part_212 values less than(212),
   PARTITION part_919 values less than(919),
   PARTITION part_252 values less than(252),
   PARTITION part_415 values less than(MAXVALUE)
);

不像range分割需要一个NUMBER或者DATE标量值,list分割可以用于根据你想用的任何值来分割数据。下面是一个customer数据库的例子,其数据根据州(state)进行分割:

create table
   customer
   (col values)
partition by list (state_name)
partition yankees values ('New York','Maine'),
partition rebels values ('North Carolina', South Carolina');

我们可以看到,list分割为大型Oracle表增加了很大的灵活性,而且在进行逻辑划分行数据的时候给了你更多的选择。


本文作者:Donald Burleson已经做了23年的数据库管理员,编写了14部数据库著作,发表了超过100篇的论文。他是Oracle Internals的主编并掌管着Burleson Oracle Consulting公司。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134