On 26-Feb-07, at 11:12 AM, Gene wrote:
hi!
I've been having some serious performance issues with
postgresql8.2/hibernate/jdbc due to postgres reusing bad cached query
plans. It doesn't look at the parameter values and therefore does not
use any partial indexes.
After trying to set prepareThreshold=0 in the connection string which
didnt work, even modifying the jdbc driver and forcing it to 0 and not
working I realized that it must be being ignored. After giving up
pretty much I tried a much older driver which doesn't use server
prepared statements at all the problem has gone away and it is once
again using the partial indexes. How can I get this to work properly
on the new jdbc driver? I don't really like having to use a 2 year old
driver to get good performance as you can imagine :)
Could someone point me to a jdbc src file where I could just disable
server-side prepared statements entirely?
you can just add protocolVersion=2 to the url and it will not use
prepared statements.
setting prepareThreshold=0 just tells it not to use named statements.
It will still use statements but won't cache them.
Are you sure the problem is with cached statements ? There are issues
where prepared statements won't use the index if you don't use the
correct type.
Dave
--
thanks, G
---------------------------(end of
broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq