Josh Berkus wrote:
> Tomasz,
>
>
> >What happens to view planning - is it performed
> >during view creation, or rather each time view is quered?
>
>
> Each time the view is executed. The only savings in running a view
over a
> regular query is that the view will have taken care of some reference
> expansion and JOIN explication during the CREATE process, but not
planning.
> Also, views can actually be slower if the view is complex enough that
any
> query-time parameters cannot be "pushed down" into the view.
Thanks a lot.
I'm asking, because I use some queries which are easy to change into
views. Most of their execution time takes planning, they use 5-10
explicit table joins with not too many rows in these tables and returns
few values.
Now I know, that queries inside pl/pgsql functions are better in these
situations:
- complex queries whith deep parameters
- execution several times during conection lifetime.
Can anyone add something?
Tomasz Myrta