我的查询需要30多分钟才能处理此查询。它确实适用于非常大的数据集,但是我可能缺少一些基本的知识,可以减少执行时间。
查询适用于许多减速器阶段,每个阶段使用1000多个减速器。在Tez引擎上运行。
我尝试启用CBO,但没有运气,还尝试将减速器限制为500 但是执行时间仍然很高。
select itt.tr_date, sum (bkt_sum_pc) as pts
from itops_trxn itt,
( select acttrxnID, max(act_cmp_id) as act_cmp_id
from itops_trxn_act a, ll_act_act_trxn b where a.act_trxn_ID = b.ACOUNTtrxnID group by acttrxnID
) A,
(select cmp_id, max (cmp_name) as name
from itops_offer group by cmp_id
) c
where itt.acttrxnID = A.acttrxnID and act_cmp_id = c.cmp_id
and itt.type = 'ajstmnt'
and itt.event_header_event_name NOT IN ('composite.sys.act.merge', 'pos.sys.identity', 'composite.sys.act.pcmerge')
and itt.event_atomic_operation_type = 'CT'
and itt.tr_date >='2018-10-31'
group by itt.tr_date, channel, location_storeparentid, meta_trxnreason, act_cmp_id,name;
答案 0 :(得分:0)
显式重写联接并移动这些条件
tabstrip.Add().Text("Screening")
.Enabled(true)
.Content(Html.Partial("~/Views/EyeTestReport/_Screening.cshtml", new Website.Models.EyeTestReport.ScreeningViewModel(Model.VisitID)).ToHtmlString()
).ContentHtmlAttributes(new { @id = "abcxyz"});
加入join ON子句:
where itt.acttrxnID = A.acttrxnID and act_cmp_id = c.cmp_id