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

  • 来源: 互联网 作者: rocket   2008-03-19/11:46
  • 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表增加了很大的灵活性,而且在进行逻辑划分行数据的时候给了你更多的选择。
     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多