Re: How check execution plan of a function

From: Andy Colson <andy(at)squeakycode(dot)net>
To: Sabin Coanda <sabin(dot)coandaSPAMPROTECTION(at)deuromedia(dot)ro>, pgsql-performance(at)postgresql(dot)org
Subject: Re: How check execution plan of a function
Date: 2010-04-08 15:44:09
Message-ID: 4BBDF9C9.9050504@squeakycode.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed Apr 7 2010 7:47 AM, Sabin Coanda wrote:
> Hi there,
>
> I have a function which returns setof record based on a specific query.
> I try to check the execution plan of that query, so I write EXPLAIN ANALYZE
> before my select, I call the function and I see the result which shows an
> actual time about 5 seconds. But when I call my function after I remove
> EXPLAIN ANALYZE it takes more than 300 seconds, and I cancel it.
>
> What's happen, or how can I see the function execution plan to optimize it ?
>
> TIA,
> Sabin
>
>

I ran into the same problems, what I did was enable the logging in
postgresql.conf. I dont recall exactly what I enabled, but it was
something like:

track_functions = pl

log_statement_stats = on
log_duration = on

Then in the serverlog you can see each statement, and how long it took.
Once I found a statement that was slow I used explain analyze on just
it so I could optimize that one statement.

-Andy

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Kevin Grittner 2010-04-08 16:44:26 Re: significant slow down with various LIMIT
Previous Message A. Kretschmer 2010-04-08 14:03:29 Re: Query Optimization