oracle10g系统管理之应对大表(一)

为了能够管理非常大的数据量,oracle建立了分区表(partitioned table)和分区索引(partitioned idex)

通过使用分区表,允许将一张大表的数据分布到多个表分区段,通过使用分区索引,允许将一个大索引的数据分布到多个索引分区段。使用分区特征时,不同区彼此独立,从而提高表的可用性和性能。

1.        建立分区表

分区表是指按照特定逻辑划分大表,最终将其数据部署到几个相对较小的分区段中。执行sql语句访问分区表时,服务器进程可以直接访问某个分区段,而不需要访问整张表的所有数据,从而降低磁盘IO

2.        范围分区

按照列值将表列的数据分布到不同的分区段中。如果表的数据可以按照逻辑访问进行划分,并在不同范围内分布比较均衡,那么可以使用范围分区。

建立分区表:

create table sales(
customer_id number(
3),
sales_amount number(
10,2),
sales_date DATE
)partition by range(sales_date)(
   partition p1 values less than(
'01-APR-2010')
   tablespace partition_tbs01,
    partition p2 values less than(
'01-JUL-2010')
   tablespace partition_tbs02,
    partition p3 values less than(
'01-OCT-2010')
   tablespace partition_tbs03,
    partition p4 values less than(
'01-JAN-2011')
   tablespace partition_tbs04
)

3.        在范围分区表上插入数据

在使用INSERT语句为范围分区表插入数据时,必须为分区列提供数据,并且分区列的数据必须符合相应的分区范围。当在分区表SALES上执行INSERT操作时,Oracle会根据sales_date值的范围在相应分区上插入数据。

4.        查询表的所有语句,与普通表的查询没有任何差别。

5.        查询某个分区的数据

建立分区表后,通过在表明后指定分区名,可以显示分区的所有数据。

SELECT * FROM sales PARTITION(p1);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值