view columns and performance

From: Eric Schwarzenbach <subscriber(at)blackbrook(dot)org>
To: pgsql-performance(at)postgresql(dot)org
Subject: view columns and performance
Date: 2010-07-30 14:55:32
Message-ID: 4C52E7E4.4020204@blackbrook.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

I'm wondering whether columns, in the select list of a view that is used
in a join, which are not used either as join criteria or in the select
list of the overall query, effect the performance of the query.

In other words supposed I define a view something like

CREATE view MyView AS SELECT a,b, c, d, e, f, g FROM (several tables
joined together)

Assume for the sake of simplicity there are no aggregates or such, we're
just joining tables, and getting a bunch of columns back each of the
various tables.

I then then perform a query something like

SELECT v.a, x.h, y.i FROM MyView as v JOIN otherTable as x on (x.m =
v.a) JOIN yetAnotherTable as y on (y.n=v.a)

Does all the extra clutter of b,c,d,e,f in MyView affect the performance
of the query by taking up extra space in memory during the joins or is
the optimizer smart enough to realize that they aren't needed and evoke
the query as if MyView were really defined as

CREATE view MyView AS SELECT a FROM (several tables joined together)?

Thanks,

Eric

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Yeb Havinga 2010-07-30 15:01:43 Re: Testing Sandforce SSD
Previous Message Tom Lane 2010-07-30 14:03:52 Re: Questions on query planner, join types, and work_mem