您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Oracle查询Interval partition分区表内数据

bubuko 2022/1/25 20:03:03 其他 字数 3163 阅读 674 来源 http://www.bubuko.com/infolist-5-1.html

遇到一个问题,优化我们的sqoop抽数,抽取的是mysql的数据,源表是个分区表,但是我们的抽取增量字段不是分区字段,表中大概有5亿条的数据,导致查询非常慢,想办法提高效率。 (1)如果 知道分区的名字 ,可以直接查询对应的分区名 select * from CM.loan_shu_api_resu ...

遇到一个问题,优化我们的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));

 

Oracle查询Interval partition分区表内数据

原文:https://www.cnblogs.com/hello-wei/p/12561925.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶