Rearrange make_partitionedrel_pruneinfo to avoid work when we can't prune.
Tom Lane <tgl@sss.pgh.pa.us>
Rearrange make_partitionedrel_pruneinfo to avoid work when we can't prune. Postpone most of the effort of constructing PartitionedRelPruneInfos until after we have found out whether run-time pruning is needed at all. This costs very little duplicated effort (basically just an extra find_base_rel() call per partition) and saves quite a bit when we can't do run-time pruning. Also, merge the first loop (for building relid_subpart_map) into the second loop, since we don't need the map to be valid during that loop. Amit Langote Discussion: https://postgr.es/m/9d7c5112-cb99-6a47-d3be-cf1ee6862a1d@lab.ntt.co.jp
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/partitioning/partprune.c | modified | +68 −40 |
Discussion
- speeding up planning with partitions 265 messages · 2018-08-29 → 2019-05-02