60 lines
2.5 KiB
Plaintext
60 lines
2.5 KiB
Plaintext
|
|
# adaptive joins
|
||
|
|
|
||
|
|
#overhead loopswitch
|
||
|
|
query LINEITEM_25
|
||
|
|
loopswitch[
|
||
|
|
f1: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f2: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f3: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f4: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f5: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count
|
||
|
|
]
|
||
|
|
tie[. + ..];
|
||
|
|
|
||
|
|
|
||
|
|
query LINEITEM_25
|
||
|
|
loopswitch[
|
||
|
|
f0: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f1: . feed LINEITEM2 feed {x} product filter[.L_PARTKEY = .L_PARTKEY_x] count,
|
||
|
|
f2: . feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY = ..L_PARTKEY_x] count,
|
||
|
|
f3: . feed LINEITEM2 feed {x} sortmergejoin[L_PARTKEY, L_PARTKEY_x] count,
|
||
|
|
f4: . feed {x} loopjoin[fun(t1: TUPLE) LINEITEM2 feed filter[.L_PARTKEY = attr(t1, L_PARTKEY_x)]] count,
|
||
|
|
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM exactmatch[attr(t2, L_PARTKEY_x)]] count
|
||
|
|
]
|
||
|
|
tie[. + ..];
|
||
|
|
|
||
|
|
|
||
|
|
query LINEITEM_25
|
||
|
|
loopswitch[
|
||
|
|
f0: . feed LINEITEM2 feed {x} hashjoin[L_PARTKEY, L_PARTKEY_x, 997] count,
|
||
|
|
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM exactmatch[attr(t2, L_PARTKEY_x)]] count
|
||
|
|
]
|
||
|
|
tie[. + ..];
|
||
|
|
|
||
|
|
|
||
|
|
#non equi join
|
||
|
|
|
||
|
|
query LINEITEM_25
|
||
|
|
loopswitch[
|
||
|
|
f6: . feed LINEITEM2 feed {x} symmproduct[.L_PARTKEY >= ..L_PARTKEY_x] count,
|
||
|
|
f7: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_L_PARTKEY LINEITEM rightrange[attr(t2, L_PARTKEY_x)]] count
|
||
|
|
]
|
||
|
|
tie[. + ..];
|
||
|
|
|
||
|
|
|
||
|
|
query LINEITEM_J1_A
|
||
|
|
loopswitch[
|
||
|
|
f0: . feed LINEITEM_J1 feed {x} hashjoin[L_JoinKey, L_JoinKey_x, 997] count,
|
||
|
|
f1: . feed LINEITEM_J1 feed {x} product filter[.L_JoinKey = .L_JoinKey_x] count,
|
||
|
|
f2: . feed LINEITEM_J1 feed {x} symmproduct[.L_JoinKey = ..L_JoinKey_x] count,
|
||
|
|
f3: . feed LINEITEM_J1 feed {x} sortmergejoin[L_JoinKey, L_JoinKey_x] count,
|
||
|
|
f4: . feed {x} loopjoin[fun(t1: TUPLE) LINEITEM_J1 feed filter[.L_JoinKey = attr(t1, L_JoinKey_x)]] count,
|
||
|
|
f5: . feed {x} loopjoin[fun(t2: TUPLE) LINEITEM_J1_L_JoinKey LINEITEM_J1 exactmatch[attr(t2, L_JoinKey_x)]] count
|
||
|
|
]
|
||
|
|
tie[. + ..];
|
||
|
|
|
||
|
|
query LINEITEM_J1_A
|
||
|
|
loop[ . feed LINEITEM_J1 feed {x} hashjoin[L_JoinKey, L_JoinKey_x, 997] count ]
|
||
|
|
tie[. + ..];
|
||
|
|
|