ORACLE分区表查询

假如 [分区表] 在字段 [createdate] 上进行分区,每个月为一个分区:
2009年6月为分区P200906
2009年7月为分区P200907
2009年8月为分区P200908
。。。

执行SQL 使用分区键检索:
select*from 分区表 t where createdate > to_date('2009-07-12','yyyy-mm-dd') and createdate < to_date('2009-08-12','yyyy-mm-dd')

执行计划如下,使用分区键进行索引,会自动在数据存在的区进行检索。因为开始区为2,结束区为3,一目了然。
SELECT STATEMENT, GOAL = ALL_ROWS
PARTITION RANGE ITERATOR    Partition start=2    Partition stop=3
  TABLE ACCESS FULL            Partition start=2    Partition stop=3


执行SQL 不使用分区键检索:
select*from 分区表 t where sms_report_date > to_date('2009-07-12','yyyy-mm-dd') andsms_report_date < to_date('2009-08-12','yyyy-mm-dd')

执行计划如下:没有使用分区键进行检索,那么则会查询全部的表分区。因为要查询的数据就在2和3分区上,其它的分区数据也被读取了,增大了数据库压力,效率低下。
SELECT STATEMENT, GOAL = ALL_ROWS
PARTITION RANGE ALL        Partition start=1    Partition stop=31
  TABLE ACCESS FULL            Partition start=1    Partition stop=31

执行SQL 指定使用分区:
select*from 分区表 partition(P200907) t where sms_report_date > to_date('2009-07-12','yyyy-mm-dd') and sms_report_date < to_date('2009-08-12','yyyy-mm-dd')

执行计划如下:
SELECT STATEMENT, GOAL = ALL_ROWS
PARTITION RANGE SINGLE        Partition start=2    Partition stop=2
  TABLE ACCESS FULL            Partition start=2    Partition stop=2
 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,分区表查询时是允许进行更新操作的。分区表是一种将数据分割成多个逻辑部分的表,每个部分都被称为分区。这种分割可以根据特定的条件进行,例如按照日期、地理位置、客户等。分区表的设计和使用可以提高查询性能并简化维护。 当我们需要更新分区表时,可以使用UPDATE语句来修改表中的数据。只需提供指定的分区或特定的查询条件即可对分区表中的数据进行更改。更新操作可以针对单个分区进行,也可以同时更新多个分区。 需要注意的是,分区表进行更新操作时,要确保更新的数据符合分区规则。换句话说,被更新的数据所在的分区必须与更新操作的条件相匹配。如果不满足分区规则,更新操作可能会失败或者更新的数据不会生效。 另外,对于包含全局索引的分区表进行更新操作时,需要特别注意。全局索引是在整个表上创建的索引,而不是在各个分区上分别创建的索引。在更新分区表时,如果更新操作会导致分区键的变化,那么全局索引也需要相应地更新。这就需要进行一些额外的操作,以确保全局索引的一致性和正确性。 总结来说,Oracle分区表是允许进行更新操作的,但要注意更新的数据必须符合分区规则,并且在更新包含全局索引的分区表时需要额外的操作来维护索引的一致性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值