Re: Partition-wise join for join between (declaratively) partitioned tables
Robert Haas <robertmhaas@gmail.com>
On Wed, Oct 4, 2017 at 11:34 AM, Robert Haas <robertmhaas@gmail.com> wrote: > + Enables or disables the query planner's use of partition-wise join > + plans. When enabled, it spends time in creating paths for joins between > + partitions and consumes memory to construct expression nodes to be used > + for those joins, even if partition-wise join does not result in the > + cheapest path. The time and memory increase exponentially with the > + number of partitioned tables being joined and they increase linearly > + with the number of partitions. The default is <literal>off</>. > > I think this is too scary and too much technical detail. I think you > could just say something like: Enables or disables use of > partition-wise join, which allows a join between partitioned tables to > be performed by joining the matching partitions. Partition-wise join > currently applies only when the join conditions include all the > columns of the partition keys, which must be of the same data type and > have exactly matching sets of child partitions. Because > partition-wise join planning can use significantly increase CPU time > and memory usage during planning, the default is <literal>off</>. Not enough caffeine, obviously: should have been something like -- Because partition-wise join can significantly increase the CPU and memory costs of planning... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL 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