Re: [HACKERS] How to read query plan - Mailing list pgsql-performance

From Tom Lane
Subject Re: [HACKERS] How to read query plan
Date
Msg-id 4850.1110776411@sss.pgh.pa.us
Whole thread Raw
In response to Re: How to read query plan  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] How to read query plan
List pgsql-performance
I wrote:
> Since ExecProject operations within a nest of joins are going to be
> dealing entirely with Vars, I wonder if we couldn't speed matters up
> by having a short-circuit case for a projection that is only Vars.
> Essentially it would be a lot like execJunk.c, except able to cope
> with two input tuples.  Using heap_deformtuple instead of retail
> extraction of fields would eliminate the O(N^2) penalty for wide tuples.

Actually, we already had a pending patch (from Atsushi Ogawa) that
eliminates that particular O(N^2) behavior in another way.  After
applying it, I get about a factor-of-4 reduction in the runtime for
Miroslav's example.

ExecEvalVar and associated routines are still a pretty good fraction of
the runtime, so it might still be worth doing something like the above,
but it'd probably be just a marginal win instead of a big win.

            regards, tom lane

pgsql-performance by date:

Previous
From: Greg Stark
Date:
Subject: Re: Postgres on RAID5
Next
From: Tom Lane
Date:
Subject: Re: cpu_tuple_cost