Re: Pooling Prepared Statements - Mailing list pgsql-jdbc

From João Paulo Caldas Ribeiro
Subject Re: Pooling Prepared Statements
Date
Msg-id 3D6E5D80.3000109@mobicomp.com
Whole thread Raw
In response to Pooling Prepared Statements  ("G.Nagarajan" <gnagarajan@dkf.de>)
Responses Re: Pooling Prepared Statements
List pgsql-jdbc
Hi!

Im sorry but: 1 connection -> 1 resultset at time.
You can have many statement associated to a connection but when you
execute the statemente you can only have 1 resultset associated to the
connection at time.
You can execute 2 statement using the same connection but you have to:

-> execute statement1
-> get the resultset1 and use it
-> close resultset
-> execute statement2
-> get the resultset2 and use it
-> close resultset


If you still using the resultset1 when you execute the statement2 you'll
destroy it.
This is why i told to close the resultset.
Rule is : Every time you finish using a statement or a resultset close it.
Exception: if you want to keep a cache of statements you only close them
when you remove them from the cache or before closing the dbconnection.

If think you are trying to make a statement cache. Take a look to the
Enhydra (www.enhydra.org) DBLayer. They use preparedstatement cache for
every dbconnection.

Regards.
João Paulo Ribeiro


G.Nagarajan wrote:

>hi,
>i am planning to implement a pooling system for Prepared Statements.
>It will open a single connection during initialization and create
>many prepared statements using this connection. The connection will
>be always kept open so that the prepared statements are valid. To
>speed up things, there may be more than one prepared statement for
>the same query, ie,
>
>stmt1 = "select from table where field = ?";
>stmt2 = "select from table where field = ?";
>
>Will there be any issues when two statements are executed for the
>same table using the same connection? has anyone tried doing something
>like this or is there any open source tool which can do this?
>
>This will greatly improve the efficiency of the system as most of the time,
>the connections are used for executing the same statements. Pooling the
>statements instead of the connection will save the processing needed
>for creating the statement objects for every query.
>
>Regards,
>Nagarajan.
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>
>
>


--
----------------------------------------------------------------------------
MobiComp - Mobile Computing & Wireless Solutions
phone: +351 253 305 250     fax: +351 253 305 251
web: http://www.mobicomp.com
----------------------------------------------------------------------------





pgsql-jdbc by date:

Previous
From: "G.Nagarajan"
Date:
Subject: Pooling Prepared Statements
Next
From: "G.Nagarajan"
Date:
Subject: Re: Pooling Prepared Statements