Thanks for the complete and fast answer, Martin!

>Some JDBC-drivers already perform this on the client-side
I am using oracle8i with 8i client jar. Using that -thin- 8i JDBC driver , the performance tests show there is a huge difference between
*recreating a connection each time - obviously ultimately slow
*using a single connection but re-preparing a PreparedStatement with the same query - better *using a single connection and a single PreparedStatement, only calling setXXX methods between calls to .executeQuery() - the best

I'll check it out very soon. Thanks again!

Cheers,

*Alexandre BORGOLTZ**
*Head of Technology

**SmartJog SA*
*Phone: +33 (0)1 4996 6324
Fax: +33 (0)1 4996 6405
Mobile: +33 (0)6 8882 1417
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>


Martin Kal�n wrote:

Alexandre Borgoltz wrote:

When accessing DB data, OJB uses a relatively small set of different queries. The default implementation uses PreparedStatement - which is a good thing :) with connection pooling. I was wondering ig it was planned to use statement-level pooling to speed up thing even more? Is there an already existing implementation that uses statement pooling? Or maybe are there drawbacks in reusing statements in OJB?


Some JDBC-drivers already perform this on the client-side, Oracle JDBC
is an example of this. In the "Oracle9i" platform impl we set Oracle-
specific statement caching (ie client-side pooling) and row pre-fetch
directly from OJB.


We have also added the possibility to use the Statement pool functionality in Commons DBCP. This will be possible in the upcoming OJB 1.0.4 or if you
check out OJB from CVS from the OJB_1_0_RELEASE branch.

(It should also be merged to CVS HEAD, it's only because my own lack of
time that this did not happen yet.)

You control Statement pooling by setting the following attributes on the
connection pool in your repository_database:
 "dbcp.poolPreparedStatements" to "true"
 "dbcp.maxOpenPreparedStatements" to max # of statements in pool
  (or "0" for no limit -- but beware of OutOfMemory exceptions!)

See also the preview of the next site-documentation at the following URL
(WARNING: transient content, please do not use for linking - this will
be the next main OJB website):
http://people.apache.org/~mkalen/ojb/site/docu/guides/repository.html#Custom+attributes


NB: You need to switch from the default ConnectionFactory to ConnectionFactoryDBCPImpl in your OJB.properties for any custom dbcp.*-attributes to have any effect.

Both the default pooled OJB ConnectionFactory-implementation and the DBCP
implementation use Commons Pool for the underlying object pools so performance,
configuration and behaviour will be very similar.

Regards,
 Martin


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to