Re: Identity projection

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Cc: tgl@sss.pgh.pa.us, pgsql-hackers@postgresql.org
Date: 2012-12-14T11:41:25Z
Lists: pgsql-hackers
On 12.11.2012 12:07, Kyotaro HORIGUCHI wrote:
> Hello, This is new version of identity projection patch.
>
> Reverted projectionInfo and ExecBuildProjectionInfo. Identity
> projection is recognized directly in ExecGroup, ExecResult, and
> ExecWindowAgg. nodeAgg is reverted because I couldn't make it
> sane..
>
> The following is the result of performance test posted before in
> order to show the source of the gain.

Hmm, this reminds me of the discussion on removing useless Limit nodes: 
http://archives.postgresql.org/pgsql-performance/2012-12/msg00127.php.

The optimization on Group, WindowAgg and Agg nodes doesn't seem that 
important, the cost of doing the aggregation/grouping is likely 
overwhelming the projection cost, and usually you do projection in 
grouping/aggregation anyway. But makes sense for Result.

For Result, I think you should aim to remove the useless Result node 
from the plan altogether. And do the same for useless Limit nodes.

- Heikki