Some further performance tweaks for planning large inheritance trees that
authorTom Lane
Sat, 21 Apr 2007 21:01:45 +0000 (21:01 +0000)
committerTom Lane
Sat, 21 Apr 2007 21:01:45 +0000 (21:01 +0000)
commitafcf09dd9034f24e34dd46f69938882ab5b103d2
tree497edd9a542b2bc9312afe2f39341f7b95a892c5
parentac7e6c0665a377fb0e4e5b12cfc762c1b14e425e
Some further performance tweaks for planning large inheritance trees that
are mostly excluded by constraints: do the CE test a bit earlier to save
some adjust_appendrel_attrs() work on excluded children, and arrange to
use array indexing rather than rt_fetch() to fetch RTEs in the main body
of the planner.  The latter is something I'd wanted to do for awhile anyway,
but seeing list_nth_cell() as 35% of the runtime gets one's attention.
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/clausesel.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planagg.c
src/backend/optimizer/plan/planmain.c
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/plancat.c
src/backend/optimizer/util/relnode.c
src/backend/utils/adt/selfuncs.c
src/include/nodes/relation.h