* Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Peter Darley" <pdarley@kinesis-cem.com> writes:
> > I have a question about views: I want to have a fairly wide view (lots of
> > columns) where most of the columns have some heavyish calculations in them,
> > but I'm concerned that it will have to calculate every column even when I'm
> > not selecting them. So, the question is, if I have 5 columns in a view but
> > only select 1 column, is the system smart enough to not calculate the unused
> > columns,
>
> It depends on what the rest of your view looks like. If the view is
> simple enough to be "flattened" into the parent query then the unused
> columns will disappear into the ether. If it's not flattenable then
> they will get evaluated. You can check by seeing whether an EXPLAIN
> shows a separate "subquery scan" node corresponding to the view.
> (Without bothering to look at the code, an unflattenable view is one
> that uses GROUP BY, DISTINCT, aggregates, ORDER BY, LIMIT, UNION,
> INTERSECT, EXCEPT, probably a couple other things.)
What about functions ?
I'm using several (immutable) functions for mapping IDs to names, etc.
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service
phone: +49 36207 519931 www: http://www.metux.de/
fax: +49 36207 519932 email: contact@metux.de
cellphone: +49 174 7066481
---------------------------------------------------------------------
-- DSL ab 0 Euro. -- statische IP -- UUCP -- Hosting -- Webshops --
---------------------------------------------------------------------