zoukankan      html  css  js  c++  java
  • oracle分区表查询(转)

    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') and sms_report_date < to_date('2009-08-12','yyyy-mm-dd')
     
    执行计划如下:没有使用分区键进行检索,那么则会查询全部的表分区。因为要查询的数据就在2和3分区上,其它的分区数据也被读取了,增大了数据库压力,效率低下。
    SELECT STATEMENT, GOAL = ALL_ROWS  www.2cto.com  
    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
  • 相关阅读:
    获取一组radio按钮选中的值Value
    三相异步电动机过载保护及报警PLC控制
    2014年天津市第一批科技计划项目
    USB HID报告及报告描述符简介
    Log Explorer使用说明
    SQL日志文件的作用
    STM32 USB数据接收与数据发送程序流程分析
    多少人没熬过那三厘米!
    构建区域综合交通枢纽 京津冀将形成“一张图”
    Altium Designer下Gerber转PCB的方法(转)
  • 原文地址:https://www.cnblogs.com/freemanabc/p/5441975.html
Copyright © 2011-2022 走看看