Thread: Prepared queries

Prepared queries

From
"Cyril VELTER"
Date:
I'm converting an application to use the V3 protocol features in the 7.4
libpq. As I need to make a design choice regarding the use of prepared
statements, I'm wondering what ressources does a prepared statement use on
the server ? If I need to create several hundred in each backend, is there a
big memory overhead ? What's the time spent by the backend to find one
prepared statement into a list of several hundreds of them ?

    TIA

    cyril


Re: Prepared queries

From
Tom Lane
Date:
"Cyril VELTER" <cyril.velter@metadys.com> writes:
> I'm converting an application to use the V3 protocol features in the 7.4
> libpq. As I need to make a design choice regarding the use of prepared
> statements, I'm wondering what ressources does a prepared statement use on
> the server ? If I need to create several hundred in each backend, is there a
> big memory overhead ?

It'd depend on the complexity of the query plans, but I'd think order of a
few KB per query.

> What's the time spent by the backend to find one
> prepared statement into a list of several hundreds of them ?

The prepared queries are indexed by a hash table, so the lookup time
should be fairly constant independent of their number.

            regards, tom lane

Re: Prepared queries

From
"Cyril VELTER"
Date:
    Thanks for your answer. Is there any way to know at runtime the space
effectively occupied by all prepared statements in a backend ?

    cyril

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Cyril VELTER" <cyril.velter@metadys.com>
Cc: <pgsql-general@postgresql.org>
Sent: Thursday, February 12, 2004 12:12 AM
Subject: Re: [GENERAL] Prepared queries


> "Cyril VELTER" <cyril.velter@metadys.com> writes:
> > I'm converting an application to use the V3 protocol features in the 7.4
> > libpq. As I need to make a design choice regarding the use of prepared
> > statements, I'm wondering what ressources does a prepared statement use
on
> > the server ? If I need to create several hundred in each backend, is
there a
> > big memory overhead ?
>
> It'd depend on the complexity of the query plans, but I'd think order of a
> few KB per query.
>
> > What's the time spent by the backend to find one
> > prepared statement into a list of several hundreds of them ?
>
> The prepared queries are indexed by a hash table, so the lookup time
> should be fairly constant independent of their number.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>