Marcin Stępnicki wrote:
> Hello.
>
> I've googled a bit but I think I can't match the keywords, so I thought
> I'll ask here:
>
> Let's say I've got a view with 100 columns and 1mln rows; some of them are
> calculated "on the fly". For some reason I want only one column from
> this view:
>
> select col1 from huge_view;
>
> Now, does PostgreSQL skip all the calculations from other columns and
> executes this query faster then select * from huge_view?
In simple cases, yes. But for example, if you have a LEFT OUTER JOIN in
the view, the join is performed even if your query doesn't return any
columns from the outer relation. Also, if the calculation contains
immutable functions, it's not skipped.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com