📄 tst4730.stable.out
字号:
V57 := algebra.kdifference(V53,V12); # 29 ALGkdiff (V57:bat[:oid,:int])<-(V53:bat[:oid,:int])(V12:bat[:oid,:oid]) V58 := algebra.join(V21,V57); # 30 ALGjoin (V58:bat[:oid,:int])<-(V21:bat[:oid,:oid])(V57:bat[:oid,:int]) V59 := aggr.sum(V58,V35,V37); # 31 AX3aggrX3_sum3_int_lng (V59:bat[:oid,:lng])<-(V58:bat[:oid,:int])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V64 := algebra.kdifference(V60,V12); # 32 ALGkdiff (V64:bat[:oid,:flt])<-(V60:bat[:oid,:flt])(V12:bat[:oid,:oid]) V65 := algebra.join(V21,V64); # 33 ALGjoin (V65:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V64:bat[:oid,:flt]) V66 := aggr.sum(V65,V35,V37); # 34 AX3aggrX3_sum3_flt_dbl (V66:bat[:oid,:dbl])<-(V65:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V72 := calc.lng(A0); # 35 CALCsht2lng (V72:lng)<-(A0:sht) V74 := calc.*(V72,100); # 36 CALCbinaryMULlngint (V74:lng)<-(V72:lng)(_57:int) V82 := algebra.kdifference(V75,V12); # 37 ALGkdiff (V82:bat[:oid,:flt])<-(V75:bat[:oid,:flt])(V12:bat[:oid,:oid]) V83 := algebra.join(V21,V82); # 38 ALGjoin (V83:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V82:bat[:oid,:flt]) V84:bat[:oid,:flt] := optimizer.multiplex("calc.-",V74,V83); # 39 OPTmultiplex (V84:bat[:oid,:flt])<-(_61:str)(V74:lng)(V83:bat[:oid,:flt]) V86 := batcalc.*(V65,V84); # 40 CMDbatMUL_flt_flt_flt (V86:bat[:oid,:flt])<-(V65:bat[:oid,:flt])(V84:bat[:oid,:flt]) V88 := aggr.sum(V86,V35,V37); # 41 AX3aggrX3_sum3_flt_dbl (V88:bat[:oid,:dbl])<-(V86:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V94 := calc.lng(A1); # 42 CALCsht2lng (V94:lng)<-(A1:sht) V95 := calc.*(V94,100); # 43 CALCbinaryMULlngint (V95:lng)<-(V94:lng)(_57:int) V100:bat[:oid,:flt] := optimizer.multiplex("calc.-",V95,V83); # 44 OPTmultiplex (V100:bat[:oid,:flt])<-(_61:str)(V95:lng)(V83:bat[:oid,:flt]) V101 := batcalc.*(V65,V100); # 45 CMDbatMUL_flt_flt_flt (V101:bat[:oid,:flt])<-(V65:bat[:oid,:flt])(V100:bat[:oid,:flt]) V103 := calc.lng(A2); # 46 CALCsht2lng (V103:lng)<-(A2:sht) V104 := calc.*(V103,100); # 47 CALCbinaryMULlngint (V104:lng)<-(V103:lng)(_57:int) V109 := algebra.kdifference(V105,V12); # 48 ALGkdiff (V109:bat[:oid,:flt])<-(V105:bat[:oid,:flt])(V12:bat[:oid,:oid]) V110 := algebra.join(V21,V109); # 49 ALGjoin (V110:bat[:oid,:flt])<-(V21:bat[:oid,:oid])(V109:bat[:oid,:flt]) V111:bat[:oid,:flt] := optimizer.multiplex("calc.+",V104,V110); # 50 OPTmultiplex (V111:bat[:oid,:flt])<-(_73:str)(V104:lng)(V110:bat[:oid,:flt]) V113 := batcalc.*(V101,V111); # 51 CMDbatMUL_flt_flt_flt (V113:bat[:oid,:flt])<-(V101:bat[:oid,:flt])(V111:bat[:oid,:flt]) V114 := aggr.sum(V113,V35,V37); # 52 AX3aggrX3_sum3_flt_dbl (V114:bat[:oid,:dbl])<-(V113:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V122 := aggr.avg(V58,V35,V37); # 53 AX3aggrX3_avg3_int (V122:bat[:oid,:dbl])<-(V58:bat[:oid,:int])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V127 := aggr.avg(V65,V35,V37); # 54 AX3aggrX3_avg3_flt (V127:bat[:oid,:dbl])<-(V65:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V129 := optimizer.multiplex("calc.round",V127,100); # 55 OPTmultiplex (V129:any)<-(_79:str)(V127:bat[:oid,:dbl])(_57:int) V135 := aggr.avg(V83,V35,V37); # 56 AX3aggrX3_avg3_flt (V135:bat[:oid,:dbl])<-(V83:bat[:oid,:flt])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid]) V136 := optimizer.multiplex("calc.round",V135,100); # 57 OPTmultiplex (V136:any)<-(_79:str)(V135:bat[:oid,:dbl])(_57:int) V137 := aggr.count(V35,V35,V37); # 58 AX3aggrX3_count3Nils (V137:bat[:oid,:int])<-(V35:bat[:oid,:oid])(V35:bat[:oid,:oid])(V37:bat[:oid,:oid])#sql.column(V42,"l_returnflag","varchar",1,0); # 59 (_83:str)#sql.column(V51,"l_linestatus","varchar",1,0); # 60 (_84:str)#sql.column(V59,"sum_qty","bigint",0,0); # 61 (_85:str)#sql.column(V66,"sum_base_price","decimal",19,2); # 62 (_86:str)#sql.column(V88,"sum_disc_price","decimal",19,4); # 63 (_87:str)#sql.column(V114,"sum_charge","decimal",19,6); # 64 (_88:str)#sql.column(V122,"avg_qty","double",53,0); # 65 (_89:str)#sql.column(V129,"avg_price","double",53,0); # 66 (_90:str)#sql.column(V136,"avg_disc","double",53,0); # 67 (_91:str)#sql.column(V137,"count_order","int",0,0); # 68 (_92:str)#sql.output(V52,V42,V51,V59,V66,V88,V114,V122,V129,V136,V137); # 69 (_93:str) yield always; # 70 (always:bit) redo always; # 71 (always:bit) jump 10exit always; # 72 (always:bit) return always; # 73 (always:bit)end qry1; # 74 ##optimizer.costEstimation("user","qry1");#mdb.list("user","qry1");#function user.main():void; # 0 (main:void)#TPCH query 1 # 1 (_1:str)# the basis for further optimizer tests # 2 (_2:str)#don;t depend on SQL library # 3 (_3:str) mdb.list("user","qry1"); # 4 MDBlist3 (_7:void)<-(_5:str)(_6:str)end main; # 5 factory user.qry1(A0:sht,A1:sht,A2:sht,A3:date,A4:int):bit; V6:bat[:oid,:date]{rows=1000} := user.bind("sys","lineitem","l_shipdate",0); V11:bat[:oid,:oid]{rows=1000} := user.bind_dbat("sys","lineitem",0); V22:bat[:oid,:bit]{rows=1000} := user.bind("sys","lineitem","l_returnflag",0); V29:bat[:oid,:bit]{rows=1000} := user.bind("sys","lineitem","l_linestatus",0); V53:bat[:oid,:int]{rows=1000} := user.bind("sys","lineitem","l_quantity",0); V60:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_extendedprice",0); V75:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_discount",0); V105:bat[:oid,:flt]{rows=1000} := user.bind("sys","lineitem","l_tax",0);barrier always := true; V12{rows=1000} := bat.reverse(V11); V13{rows=1} := algebra.kdifference(V6,V12); V16 := mtime.date_sub_sec_interval(A3,A4); a := mtime.date(nil:void); V17{rows=1} := algebra.uselect(V13,a,V16); V20{rows=1} := algebra.markT(V17,0@0); V21{rows=1} := bat.reverse(V20); V26{rows=1} := algebra.kdifference(V22,V12); V27{rows=1} := algebra.join(V21,V26); (h,V28):= group.new(V27); V33{rows=1} := algebra.kdifference(V29,V12); V34{rows=1} := algebra.join(V21,V33); (Ext,V35):= group.derive(h,V28,V34); V36 := algebra.tunique(Ext); V37 := bat.mirror(V36); V42 := algebra.join(V37,V27); V43 := algebra.sort(V42); V51 := algebra.join(V37,V34); V52 := group.refine(V43,V51); V57{rows=1} := algebra.kdifference(V53,V12); V58{rows=1} := algebra.join(V21,V57); V59{rows=1} := aggr.sum(V58,V35,V37); V64{rows=1} := algebra.kdifference(V60,V12); V65{rows=1} := algebra.join(V21,V64); V66{rows=1} := aggr.sum(V65,V35,V37); V72 := calc.lng(A0); V74 := calc.*(V72,100); V82{rows=1} := algebra.kdifference(V75,V12); V83{rows=1} := algebra.join(V21,V82); V84:bat[:oid,:flt] := optimizer.multiplex("calc.-",V74,V83); V86{rows=1} := batcalc.*(V65,V84); V88{rows=1} := aggr.sum(V86,V35,V37); V94 := calc.lng(A1); V95 := calc.*(V94,100); V100:bat[:oid,:flt] := optimizer.multiplex("calc.-",V95,V83); V101{rows=1} := batcalc.*(V65,V100); V103 := calc.lng(A2); V104 := calc.*(V103,100); V109{rows=1} := algebra.kdifference(V105,V12); V110{rows=1} := algebra.join(V21,V109); V111:bat[:oid,:flt] := optimizer.multiplex("calc.+",V104,V110); V113{rows=1} := batcalc.*(V101,V111); V114{rows=1} := aggr.sum(V113,V35,V37); V122{rows=1} := aggr.avg(V58,V35,V37); V127{rows=1} := aggr.avg(V65,V35,V37); V129 := optimizer.multiplex("calc.round",V127,100); V135{rows=1} := aggr.avg(V83,V35,V37); V136 := optimizer.multiplex("calc.round",V135,100); V137 := aggr.count(V35,V35,V37);#sql.column(V42,"l_returnflag","varchar",1,0); #sql.column(V51,"l_linestatus","varchar",1,0); #sql.column(V59,"sum_qty","bigint",0,0); #sql.column(V66,"sum_base_price","decimal",19,2); #sql.column(V88,"sum_disc_price","decimal",19,4); #sql.column(V114,"sum_charge","decimal",19,6); #sql.column(V122,"avg_qty","double",53,0); #sql.column(V129,"avg_price","double",53,0); #sql.column(V136,"avg_disc","double",53,0); #sql.column(V137,"count_order","int",0,0); #sql.output(V52,V42,V51,V59,V66,V88,V114,V122,V129,V136,V137); yield always; redo always;exit always; return always;end qry1;# 23:52:59 > # 23:52:59 > Done.# 23:52:59 >
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -