ORACLE数据库入门再在屋里坐会 (14)

  散列分区是在列值上使用散列算法, 通过在分区键上执行 hash 函数决定存储的分区,将数据平均地分布到不同的分区,当列的值没有合适的条件时,建议使用散列分区。

create table employee

(

      emp_id number(4),

      emp_name varchar2(14),

      emp_address varchar2(15),

      department varchar2(10)

)partition by hash (department)

(

      partition p1, 

      partition p2, 

      partition p3 

)

partitions 4;

select * from employee partition(p1); 

select * from employee partition(p2); 

select * from employee partition(p3);

4.3)列表(list)分区

列表分区的特点是某列的值只有几个,基于这样的特点我们可以采用列表分区,允许用户将不相关的数据组织在一起。

create table employee

(

      emp_id number(4),

      emp_name varchar2(14),

      emp_address varchar2 (15)

)partition by list (emp_address)(

      partition north values ('北京') ,

      partition west values ('成都','重庆') ,

      partition south values ('广州', '深圳'),

      partition east values ('杭州', '苏州','温州')

);

添加数据

  insert into employee values(1,'zhangsan','北京');

  insert into employee values(2,'lucy','广州');

  insert into employee values(3,'petter','深圳');

查询数据

  select * from employee partition (north);     --zhangsan

  select * from employee partition (south);     --lucy、petter

4.4) 复合分区:

形式一:范围-散列分区

表首先按某列进行范围分区,然后再按散列算法进行散列分区,分区之中的分区被称为子分区

create table slog

(

  sno number,

  sinfo varchar(300)

)partition by range(sno)           --范围分区

subpartition by hash(sinfo)      --散列分区

subpartitions 6(

  partition p1 values less than (2000),

  partition p2 values less than (4000),

  partition p3 values less than (6000),

  partition p4 values less than (8000)

);

形式二:范围-列表分区

表首先按某列进行范围分区,然后再按某列进行列表分区,分区之中的分区被称为子分区

create table slog

(

      sno number,

      sinfo varchar(300)

)

partition by range(sno)                   --范围分区

subpartition by list(sinfo)        --列表分区

subpartition template(

      subpartition t1 values('404','notfind'),

      subpartition t2 values('500','error'),

      subpartition t3 values('200','success')

)

(

      partition p1 values less than (2000),

      partition p2 values less than (4000),

      partition p3 values less than (6000),

      partition p4 values less than (8000)

);

4.5)interval分区

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzwgw.html