pgsql: Some further performance tweaks for planning large inheritance - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Some further performance tweaks for planning large inheritance
Date
Msg-id 20070421210146.08B729FB64A@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.162 -> r1.163)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.162&r2=1.163)
        clausesel.c (r1.84 -> r1.85)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/clausesel.c.diff?r1=1.84&r2=1.85)
        costsize.c (r1.180 -> r1.181)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.180&r2=1.181)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.228 -> r1.229)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.228&r2=1.229)
        planagg.c (r1.30 -> r1.31)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planagg.c.diff?r1=1.30&r2=1.31)
        planmain.c (r1.99 -> r1.100)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planmain.c.diff?r1=1.99&r2=1.100)
    pgsql/src/backend/optimizer/util:
        pathnode.c (r1.138 -> r1.139)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c.diff?r1=1.138&r2=1.139)
        plancat.c (r1.133 -> r1.134)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.133&r2=1.134)
        relnode.c (r1.86 -> r1.87)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.86&r2=1.87)
    pgsql/src/backend/utils/adt:
        selfuncs.c (r1.232 -> r1.233)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.232&r2=1.233)
    pgsql/src/include/nodes:
        relation.h (r1.140 -> r1.141)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.140&r2=1.141)

pgsql-committers by date:

Previous
From: mha@postgresql.org (Magnus Hagander)
Date:
Subject: pgsql: Fix build for directories with spaces in them by quoting
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Remove some of the most blatant brain-fade in the recent guc