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:
@ -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", *
|
||||
|
Reference in New Issue
Block a user