关于oracle9i分区问题

yzqing 2004-10-12 06:03:07
在相关文档中看到oracle9i的Release 2这个版本中增加了一种分区即组合范围--列表分区,也就是先可以对表进行范围分区,然后对每个分区进行列表分区,我想问一问有没有人使用过这种分区,它的语法结构是怎样的?我查了很多资料都没有找到,除了这种方法,现在我的表中要求按“发生日期”和“地区代码”两个字段进行分区,还有没有更好的方法进行?我尝试过使多列的用范围分区进行,可是发现它只对排在前面的那个字段起作用,比如说我按“发生日期”和“地区代码”进行分区,它只给我按“发生日期”进行分区了,而并未按“地区代码”进行分区,如果按“地区代码”和“发生日期”进行分区,它只按“地区代码”字段进行了分区,请教各位,可以尽快给我个答复!先谢谢啦
...全文
134 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmgowin 2004-11-02
  • 打赏
  • 举报
回复
半个月?真实有耐力,pfpf,怎么解决的,说出来让大家也学学
yzqing 2004-11-02
  • 打赏
  • 举报
回复
唉,求人不求已呀,自己搞定了
yzqing 2004-10-15
  • 打赏
  • 举报
回复
你说的大概念的方向是正确的,可是我在<ORACLE9I分区>一书中看到这样一句话组合范围-列表分区,它是组合分区的一种,它只适用于ORACLE9I RELEASE2版本,它是先对表进行范围分区,然后对每个分区进行列表分区。
smallcrocodile 2004-10-13
  • 打赏
  • 举报
回复
点解
zmgowin 2004-10-13
  • 打赏
  • 举报
回复
你的概念好像有点混,oracle提供了四种分区方式,包括range,hash,composite和list,前三种在ora8i中就已经出现了,list是9i中才看到的。
你前面说的是组合分区,就是在分区中使用范围,在子分区中使用散列,例如:
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'));

yzqing 2004-10-13
  • 打赏
  • 举报
回复
怎么没人回答我的问题呢?

3,492

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧