zoukankan      html  css  js  c++  java
  • Oracle查询Interval partition分区表内数据

    遇到一个问题,优化我们的sqoop抽数,抽取的是mysql的数据,源表是个分区表,但是我们的抽取增量字段不是分区字段,表中大概有5亿条的数据,导致查询非常慢,想办法提高效率。

    (1)如果 知道分区的名字 ,可以直接查询对应的分区名

    select * from CM.loan_shu_api_result  partition(SYS_P505)

    (2)如果 不知道分区的名字,但是知道分区主键的字段值范围 ,可以基于分区范围进行查询

    select * from CM.loan_shu_api_result where default_dt>=to_date('2019-02-01','yyyy-mm-dd') and default_dt<to_date('2019-03-01','yyyy-mm-dd') 

    and substr(call_dt,1,4)||substr(call_dt,6,2)||substr(call_dt,9,2) ='20190220';

       说明:default_dt是分区字段,call_dt是增量抽取字段

    (3)如果 不知道分区的名字,也不知道分区主键的字段值范围 ,可以使用PARTITION FOR子句进行查询,比如现在只知道2019-02-15是这个分区的数据

    select * from CM.loan_shu_api_result partition for(to_date('2019-02-15','yyyy-mm-dd'));
  • 相关阅读:
    Java_File类
    Java_Math类和Random类
    Java_包装类
    Java_Stringbuilder和StringBuffer
    Java_String
    Java_数组, 懒得整理了 ---------------------> 未完, 待续
    Java_内部类
    Java_三大特征相关
    Java_垃圾回收机制(未掌握)
    重载(overload)和重写(override)的区别?
  • 原文地址:https://www.cnblogs.com/hello-wei/p/12561925.html
Copyright © 2011-2022 走看看