无效Join判断
比如这个例子:
insert overwrite table my_table partition(ds='${bizdate}')
select
t1.task_type,
sum(t1.plan) total,
sum(t1.real)/(sum(t1.plan)+0.0001) RPR,
sum(t1.plan_A) total_real_mem,
sum(t1.real_A)/(sum(t1.plan_A)+0.0001) RPR_A
from m1_task t1
left outer join dim_info t2
on t1.project_name=t2.project_name and t1.ds='${bizdate}' and t2.ds='${bizdate}'
group by t1.task_type;
t2 这张表,虽然被拿来join了,但是where、group by、select里都没有被用到,而且也不会带来t1表的数据量的缩减(因为是left outer join),属于有没有都无所谓的情况,这就是典型的无效join,无端增加输入量,浪费资源。
华北2(北京)Region MaxCompute购买地址:https://common-buy.aliyun.com/?commodityCode=odpsplus#/buy
欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下: