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
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... |