Re: Partition-wise join for join between (declaratively) partitioned tables
Amit Khandekar <amitdkhan.pg@gmail.com>
On 13 September 2017 at 13:05, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > On Wed, Sep 13, 2017 at 12:32 PM, Amit Khandekar <amitdkhan.pg@gmail.com> wrote: >> Hi, >> >> Rafia had done some testing on TPCH queries using Partition-wise join >> patch along with Parallel Append patch. >> >> There, we had observed that for query 4, even though the partition >> wise joins are under a Parallel Append, the join are all non-partial. >> >> Specifically, the partition-wise join has non-partial nested loop >> joins when actually it was expected to have partial nested loop joins. >> (The difference can be seen by the observation that the outer relation >> of that join is scanned by non-parallel Bitmap Heap scan when it >> should have used Parallel Bitmap Heap Scan). >> >> Here is the detailed analysis , including where I think is the issue : >> >> https://www.postgresql.org/message-id/CAJ3gD9cZms1ND3p%3DNN%3DhDYDFt_SeKq1htMBhbj85bOmvJwY5fg%40mail.gmail.com >> >> All the TPCH results are posted in the same above mail thread. > > Can you please check if the attached patch fixes the issue. Thanks Ashutosh. Yes, it does fix the issue. Partial Nested Loop joins are generated now. If I see any unexpected differences in the estimated or actual costs, I will report that in the Parallel Append thread. As far as Partition-wise join is concerned, this issue is solved, because Partial nested loop join does get created. > > -- > Best Wishes, > Ashutosh Bapat > EnterpriseDB Corporation > The Postgres Database Company -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company
Commits
-
Add test for partitionwise join involving default partition.
- 4513d3a4be0b 12.0 landed
-
Rewrite the code that applies scan/join targets to paths.
- 11cf92f6e2e1 11.0 cited
-
Fix code related to partitioning schemes for dropped columns.
- cf7ab13bfb45 11.0 landed
-
Copy information from the relcache instead of pointing to it.
- 45866c75507f 11.0 landed
-
Basic partition-wise join functionality.
- f49842d1ee31 11.0 landed
-
Associate partitioning information with each RelOptInfo.
- 9140cf8269b0 11.0 landed
-
Expand partitioned table RTEs level by level, without flattening.
- 0a480502b092 11.0 landed
-
Set partitioned_rels appropriately when UNION ALL is used.
- 448aa36e8b96 10.0 landed
- 1555566d9ee1 11.0 landed
-
Remove dedicated B-tree root-split record types.
- 0c504a80cf2e 11.0 cited
-
Assorted preparatory refactoring for partition-wise join.
- e139f1953f29 11.0 cited
-
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
- 480f1f4329f1 11.0 cited
-
Avoid unnecessary single-child Append nodes.
- d57929afc706 11.0 cited
-
Revisit handling of UNION ALL subqueries with non-Var output columns.
- dd4134ea56cb 9.2.0 cited