From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Put back planner's ability to cache the results of |
Date: | 2007-01-22 20:00:40 |
Message-ID: | 20070122200040.4BCF89FB532@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Put back planner's ability to cache the results of mergejoinscansel(),
which I had removed in the first cut of the EquivalenceClass rewrite to
simplify that patch a little. But it's still important --- in a four-way
join problem mergejoinscansel() was eating about 40% of the planning time
according to gprof. Also, improve the EquivalenceClass code to re-use
join RestrictInfos rather than generating fresh ones for each join
considered. This saves some memory space but more importantly improves
the effectiveness of caching planning info in RestrictInfos.
Modified Files:
--------------
pgsql/src/backend/nodes:
copyfuncs.c (r1.362 -> r1.363)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.362&r2=1.363)
outfuncs.c (r1.294 -> r1.295)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.294&r2=1.295)
pgsql/src/backend/optimizer/path:
costsize.c (r1.176 -> r1.177)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.176&r2=1.177)
equivclass.c (r1.1 -> r1.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/equivclass.c.diff?r1=1.1&r2=1.2)
pgsql/src/backend/optimizer/prep:
prepunion.c (r1.136 -> r1.137)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/prepunion.c.diff?r1=1.136&r2=1.137)
pgsql/src/backend/optimizer/util:
restrictinfo.c (r1.52 -> r1.53)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.52&r2=1.53)
pgsql/src/backend/utils/adt:
selfuncs.c (r1.220 -> r1.221)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.220&r2=1.221)
pgsql/src/include/nodes:
relation.h (r1.133 -> r1.134)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.133&r2=1.134)
pgsql/src/include/utils:
selfuncs.h (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/selfuncs.h.diff?r1=1.38&r2=1.39)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-01-22 23:06:37 | pgsql: Update my email address in FAQ. |
Previous Message | Bruce Momjian | 2007-01-22 19:38:05 | pgsql: Use errhint() for WIN32 SIGTERM message, where possible. |