Re: any benefit to preparing a sql function?

From: Holger Klawitter <lists(at)klawitter(dot)de>
To: "culley harrelson" <culley(at)fastmail(dot)fm>, "pg-general" <pgsql-general(at)postgresql(dot)org>
Subject: Re: any benefit to preparing a sql function?
Date: 2004-07-23 06:52:12
Message-ID: 200407230852.16918.lists@klawitter.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 22 July 2004 23:58, culley harrelson wrote:
> Is there any benefit to preparing a call to a pre-defined sql function
> or is the sql function already optimized?
>
> create temp table foo(col1 integer);
> insert into foo(col1) values(1);
> insert into foo(col1) values(2);
> insert into foo(col1) values(3);
> insert into foo(col1) values(4);
> create or replace function testfunc(integer) returns foo as 'select *
> from foo where col1 = $1;' language sql;
> prepare myplan(integer) as select * from testfunc($1);
> execute myplan(2);

All you get is the same result from the planner in shorter time.

- From the doc:

PREPARE creates a prepared query. A prepared query is a server-side object that
can be used to optimize performance. When the PREPARE statement is executed,
the specified query is parsed, rewritten, and planned. When a subsequent EXECUTE
statement is issued, the prepared query need only be executed. Thus, the parsing,
rewriting, and planning stages are only performed once, instead of every time the
query is executed.

Mit freundlichem Gruß / With kind regards
Holger Klawitter
- --
lists <at> klawitter <dot> de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFBALWg1Xdt0HKSwgYRAg7/AJ0ecUJ2uHqY1vFzUNhi0Gy7UpaPaQCgpAF7
AvbysHawgwmUB5TGiOzi3sE=
=A0Gw
-----END PGP SIGNATURE-----

In response to

Browse pgsql-general by date

  From Date Subject
Next Message raptor@tvskat.net 2004-07-23 08:49:14 dumping the schema
Previous Message Steve 2004-07-23 06:11:25 please please please PLEASE help!