Re: Profiling a function...

From: Richard Huxton <dev(at)archonet(dot)com>
To: Robert Sanford <rsanford(at)trefs(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Profiling a function...
Date: 2005-01-21 17:20:55
Message-ID: 41F139F7.6060904@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Robert Sanford wrote:
> How do I profile a user-defined function so that I know which parts of the
> function are the ones that are taking the biggest chunk of time?
>
> When I run EXPLAIN on the queries within the function none of them show up
> as onerous burdens to the performance. But when they are all operating
> together within the function and within the functional logic they become
> really expensive. Obviously I've made a mistake somewhere but it isn't
> obvious (otherwise it would be fixed already) and I'd prefer having a
> profile report telling me what is taking so long rather than guessing and
> possibly making things worse.
>
> So is there any way to get a line-by-line timing profile of a user-defined
> function?

Not really. What you can do is simulate the queries in functions by
using PREPARE. You're probably seeing a difference because when PG plans
the queries for functions/prepared queries it doesn't know the actual
values.

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Matt Clark 2005-01-21 17:35:13 Re: PostgreSQL clustering VS MySQL clustering
Previous Message Robert Sanford 2005-01-21 16:57:19 Profiling a function...