-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
put subquery's equal clause into join on clauses instead of filter cl… (
#3862) * put subquery's equal clause into join on clauses instead of filter clauses * only do this optimization for correlated subqueries
- Loading branch information
Showing
3 changed files
with
145 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,24 @@ | ||
Sort: supplier.s_acctbal DESC NULLS FIRST, nation.n_name ASC NULLS LAST, supplier.s_name ASC NULLS LAST, part.p_partkey ASC NULLS LAST | ||
Projection: supplier.s_acctbal, supplier.s_name, nation.n_name, part.p_partkey, part.p_mfgr, supplier.s_address, supplier.s_phone, supplier.s_comment | ||
Filter: partsupp.ps_supplycost = __sq_1.__value | ||
Inner Join: part.p_partkey = __sq_1.ps_partkey | ||
Inner Join: nation.n_regionkey = region.r_regionkey | ||
Inner Join: supplier.s_nationkey = nation.n_nationkey | ||
Inner Join: partsupp.ps_suppkey = supplier.s_suppkey | ||
Inner Join: part.p_partkey = partsupp.ps_partkey | ||
Filter: part.p_size = Int32(15) AND part.p_type LIKE Utf8("%BRASS") | ||
TableScan: part projection=[p_partkey, p_mfgr, p_type, p_size] | ||
Inner Join: part.p_partkey = __sq_1.ps_partkey, partsupp.ps_supplycost = __sq_1.__value | ||
Inner Join: nation.n_regionkey = region.r_regionkey | ||
Inner Join: supplier.s_nationkey = nation.n_nationkey | ||
Inner Join: partsupp.ps_suppkey = supplier.s_suppkey | ||
Inner Join: part.p_partkey = partsupp.ps_partkey | ||
Filter: part.p_size = Int32(15) AND part.p_type LIKE Utf8("%BRASS") | ||
TableScan: part projection=[p_partkey, p_mfgr, p_type, p_size] | ||
TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_supplycost] | ||
TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment] | ||
TableScan: nation projection=[n_nationkey, n_name, n_regionkey] | ||
Filter: region.r_name = Utf8("EUROPE") | ||
TableScan: region projection=[r_regionkey, r_name] | ||
Projection: partsupp.ps_partkey, MIN(partsupp.ps_supplycost) AS __value, alias=__sq_1 | ||
Aggregate: groupBy=[[partsupp.ps_partkey]], aggr=[[MIN(partsupp.ps_supplycost)]] | ||
Inner Join: nation.n_regionkey = region.r_regionkey | ||
Inner Join: supplier.s_nationkey = nation.n_nationkey | ||
Inner Join: partsupp.ps_suppkey = supplier.s_suppkey | ||
TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_supplycost] | ||
TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment] | ||
TableScan: nation projection=[n_nationkey, n_name, n_regionkey] | ||
Filter: region.r_name = Utf8("EUROPE") | ||
TableScan: region projection=[r_regionkey, r_name] | ||
Projection: partsupp.ps_partkey, MIN(partsupp.ps_supplycost) AS __value, alias=__sq_1 | ||
Aggregate: groupBy=[[partsupp.ps_partkey]], aggr=[[MIN(partsupp.ps_supplycost)]] | ||
Inner Join: nation.n_regionkey = region.r_regionkey | ||
Inner Join: supplier.s_nationkey = nation.n_nationkey | ||
Inner Join: partsupp.ps_suppkey = supplier.s_suppkey | ||
TableScan: partsupp projection=[ps_partkey, ps_suppkey, ps_supplycost] | ||
TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment] | ||
TableScan: nation projection=[n_nationkey, n_name, n_regionkey] | ||
Filter: region.r_name = Utf8("EUROPE") | ||
TableScan: region projection=[r_regionkey, r_name] | ||
TableScan: supplier projection=[s_suppkey, s_name, s_address, s_nationkey, s_phone, s_acctbal, s_comment] | ||
TableScan: nation projection=[n_nationkey, n_name, n_regionkey] | ||
Filter: region.r_name = Utf8("EUROPE") | ||
TableScan: region projection=[r_regionkey, r_name] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters