Chinaunix首页 | 论坛 | 博客
  • 博客访问: 587702
  • 博文数量: 772
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:02
文章分类

全部博文(772)

文章存档

2011年(1)

2008年(771)

我的朋友

分类:

2008-10-17 13:23:46

        Partition(分区)一直是数据库引以为傲的一项技术,正是分区的存在让高效的处理海量数据成为可能,在即将发布的Oracle 11g中,分区技术在易用性和可扩展性上再次得到了增强。

        1. Interval Partitioning

        在我曾经的一个项目中,由于数据量的巨大,所以表设计为每一个小时一个分区,数据库管理员日常要做的一件重复而无聊的工作就是每隔一天要生成新的24个分区,用以第二天的数据。

        而在11g中这项工作可以交由Oracle自动完成了,基于Range和List的Interval Partitioning分区类型登场。

        CREATE TABLE TB_INTERVAL
        PARTITION BY RANGE (time_col)
        INTERVAL(NUMTOYMINTERVAL(1, 'month'))
        (PARTITION P0 VALUES LESS THAN (TO_DATE('1-1-2007', 'dd-mm-yyyy')));

        指定需要Oracle自动创建分区的间隔时间,上面这个例子是1个月,然后至少创建一个基本分区,上面这个例子是在2007-1-1之前的所有数据都在P0分区中,以后每个月的数据都会存放在Oracle自动创建的一个新分区中。

        目前还没有更多的资料显示Oracle如何控制每个新分区的属性,比如存放在哪个表空间中,自动创建的数据文件有多大,如果是数据文件是裸设备如何处理,当第一条跨分区的记录插入时实时创建分区效率如何,虽然这些仍然是未知数,但是我们不得不承认这是一个人性化的进步。

[1]   

【责编:michael】

--------------------next---------------------

阅读(371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~