9.Oracle分区表

什么是分区表
 1.分区表是吧每个表分为几个不同的部分,并且将这写不同的部分存储在不同的位置。被分区的表称为分区表,分成的不同部分称为一个区。
 2.当表中的数据不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应考虑对表进行分区。表分区后,逻辑上依然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时不至于扫描整张表。

Oracle提供分区方法有以下几种:范围分区、列表分区、散列分区、复合分区、间隔分区和虚拟列分区。
1.范围分区
范围分区将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期。
CREATE TABLE RangeTable
( 
  idd   INT PRIMARY KEY , 
  iNAME VARCHAR(10), 
  grade INT  
) 
PARTITION  BY  RANGE (grade) 
( 
      PARTITION  part1 VALUES  LESS  THEN (1000)     TABLESPACE  Part1_tb, 
      PARTITION  part2 VALUES  LESS  THEN (MAXVALUE)  TABLESPACE  Part2_tb 
);


注:
1.指定表空间(TABLESPACE)可以不写,如果不写的则会存放到当前表空间,否则会存放到指定表空间中。
2.MAXVALUE关键字说明,是将其它数据写入此分区;如果没有足够的分区,插入数据时就会报错。

2.间隔分区
create table audit_trail (ts timestamp,data varchar2(30))
partition by range(ts)
interval (numtoyminterval(1,'month'))
(partition p0 values less than(to_date('2010-01-01','yyyy-mm-dd')));
interval :代表间隔,即按照括号后面定义的间隔添加分区。
numtoyminterval(1,'month'):表示没1个月为一个分区。也可以为YEAR。


查看所有分区表
SELECT  *  FROM  USER_TAB_PARTITIONS

查看分区数据
SELECT * FROM 表名  PARTITION(分区名)

注:
1.其它分区使用方法:
2.虚拟分区,间隔分区是Oracle 11G 新加入的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值