Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Poor Performance for large queries in functions


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: John Meinel <john(at)johnmeinel(dot)com>
  • Cc: pgsql-hackers-win32 <pgsql-hackers-win32(at)postgresql(dot)org>
  • Subject: Re: Poor Performance for large queries in functions
  • Date: Wed, 29 Sep 2004 01:10:47 -0400
  • Message-id: <22682(dot)1096434647(at)sss(dot)pgh(dot)pa(dot)us>

John Meinel <john(at)johnmeinel(dot)com> writes:
> ... However, if I try to 
> bundle this query up into a server side function, it runs very slow (10 
> seconds). I'm trying to figure out why, but since I can't run EXPLAIN 
> ANALYZE inside a function, I don't really know what else to do.

A parameterized query inside a function is basically the same as a
PREPARE'd query with parameters at the SQL level.  So you can
investigate what's happening here with

	PREPARE foo(int) AS
		SELECT * FROM object WHERE id in (
			SELECT id FROM data_t WHERE project_id = $1
		UNION SELECT ... ;

	EXPLAIN ANALYZE EXECUTE foo(48542);

I'm not sure where the problem is either, so please do send along the
results.

			regards, tom lane

PS: pgsql-performance would be a more appropriate venue for this
discussion.



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group