我有一張超大表資料量20多個億:tb_a按照日期date_dt進行了動態磁區,一張小表tb_dt用于存盤需要從大表取數的日期
比如小表存了三條記錄表示需要從大表取三天的資料,也就是三個磁區的資料
2019-01-01
2019-01-05
2019-01-10
select /*+MAPJOIN(t1)*/
*
from tb_a t0
left semi join tb_b t1
on t0.date_dt=t1.date_dt
這樣寫大表會進行全表掃描
有什么方法可以優化的嗎
uj5u.com熱心網友回復:
可以這樣select * from tb_a t0 where t0.data_dt in (select data_dt from tb_b);如果還想要tb_b表的全部欄位,就再做一次join轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/133947.html
標籤:分布式計算/Hadoop
上一篇:r語言csv資料匯入
