在相关文档中看到oracle9i的Release 2这个版本中增加了一种分区即组合范围--列表分区,也就是先可以对表进行范围分区,然后对每个分区进行列表分区,我想问一问有没有人使用过这种分区,它的语法结构是怎样的?我查了很多资料都没有找到,除了这种方法,现在我的表中要求按“发生日期”和“地区代码”两个字段进行分区,还有没有更好的方法进行?我尝试过使多列的用范围分区进行,可是发现它只对排在前面的那个字段起作用,比如说我按“发生日期”和“地区代码”进行分区,它只给我按“发生日期”进行分区了,而并未按“地区代码”进行分区,如果按“地区代码”和“发生日期”进行分区,它只按“地区代码”字段进行了分区,请教各位,可以尽快给我个答复!先谢谢啦
你前面说的是组合分区,就是在分区中使用范围,在子分区中使用散列,例如:
create table t1(
a int,
b int)
partition by range(a)
subpartition by hash(b)
subpartitions 5
(partition part1 values less than (10),
partition part2 values less than (maxvalue));而list分区中,只是将离散的列值映射到各个分区中,如:
create table t1(
a char(1),
b int)
partition by list(a)
(partition part1 values ('a','b','c'),
partition part2 values ('d','e','f'));