pgsql: Speed up planner's scanning for parallel-query hazards.
От | Tom Lane |
---|---|
Тема | pgsql: Speed up planner's scanning for parallel-query hazards. |
Дата | |
Msg-id | E1bao8i-0000WP-0j@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Speed up planner's scanning for parallel-query hazards. We need to scan the whole parse tree for parallel-unsafe functions. If there are none, we'll later need to determine whether particular subtrees contain any parallel-restricted functions. The previous coding retained no knowledge from the first scan, even though this is very wasteful in the common case where the query contains only parallel-safe functions. We can bypass all of the later scans by remembering that fact. This provides a small but measurable speed improvement when the case applies, and shouldn't cost anything when it doesn't. Patch by me, reviewed by Robert Haas Discussion: <3740.1471538387@sss.pgh.pa.us> Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/da1c91631e3577ea5818f855ebb5bd206d559006 Modified Files -------------- src/backend/nodes/outfuncs.c | 1 + src/backend/optimizer/path/allpaths.c | 30 ++------- src/backend/optimizer/plan/planmain.c | 9 ++- src/backend/optimizer/plan/planner.c | 43 ++++++++----- src/backend/optimizer/util/clauses.c | 115 +++++++++++++++++++++++++--------- src/backend/optimizer/util/pathnode.c | 6 +- src/backend/optimizer/util/relnode.c | 4 +- src/include/nodes/relation.h | 2 + src/include/optimizer/clauses.h | 3 +- 9 files changed, 133 insertions(+), 80 deletions(-)
В списке pgsql-committers по дате отправления: