Search Postgresql Archives

Re: Views versus user-defined functions: formatting, comments, performance, etc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/18/2012 06:49 AM, Merlin Moncure wrote:
For various reasons, this often goes the wrong way.  Views are often
the right way to go.

Indeed. I've had queries speed up *hundreds* of times when I convert a function the planner didn't seem to want to inline into a view it can push conditions down into.

The key thing to remember with views is that - unlike CTE "WITH" expressions - they generally aren't fully evaluated to get all their rows if most of them aren't needed. The query optimiser can typically push filters (like "where customer_id = 4" or whatever) down into the index- and table-scans used by the view, reducing the amount of data that has to be processed.

That's not always the case, so use of EXPLAIN ANALYZE and some tweaking of a view or query that uses a view is sometimes necessary. Mostly it "just works" though.

--
Craig Ringer


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux