1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-09 22:41:56 +03:00

Planner speedup hacking. Avoid saving useless pathkeys, so that path

comparison does not consider paths different when they differ only in
uninteresting aspects of sort order.  (We had a special case of this
consideration for indexscans already, but generalize it to apply to
ordered join paths too.)  Be stricter about what is a canonical pathkey
to allow faster pathkey comparison.  Cache canonical pathkeys and
dispersion stats for left and right sides of a RestrictInfo's clause,
to avoid repeated computation.  Total speedup will depend on number of
tables in a query, but I see about 4x speedup of planning phase for
a sample seven-table query.
This commit is contained in:
Tom Lane
2000-12-14 22:30:45 +00:00
parent db11f4382a
commit ea166f1146
16 changed files with 622 additions and 365 deletions

View File

@ -1796,13 +1796,13 @@ SELECT '' AS "xxx", *
| 4 | 1 | four |
| 5 | 0 | five | -5
| 5 | 0 | five | -5
| | | |
| | | | 0
| 6 | 6 | six |
| 7 | 7 | seven |
| 8 | 8 | eight |
| | | null |
| | 0 | zero |
| | | |
| | | | 0
(15 rows)
SELECT '' AS "xxx", *
@ -1817,13 +1817,13 @@ SELECT '' AS "xxx", *
| 4 | 1 | four |
| 5 | 0 | five | -5
| 5 | 0 | five | -5
| | | |
| | | | 0
| 6 | 6 | six |
| 7 | 7 | seven |
| 8 | 8 | eight |
| | | null |
| | 0 | zero |
| | | |
| | | | 0
(15 rows)
SELECT '' AS "xxx", *