ResultSet performance question

From: Craig Servin <cservin(at)cromagnon(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: ResultSet performance question
Date: 2008-12-16 19:13:06
Message-ID: 200812161313.06277.cservin@cromagnon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I'm having a performance issue with Postgresql, but only when using the JDBC
driver. I'm looking for any suggestions.

I have a very simple query that returns about 7000 rows from a temp table.
Using psql the query returns in under 3 seconds. Using the JDBC driver it
takes around 30 seconds to run the same query.

I have looked at the query plan using both methods of execution and they are
identical. I have played around with setFetchSize() and used
con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
But, since I am trying to get all of the results and it is total runtime I am
worried about server side cursors don't seem applicable.

I have also created a Java class that does nothing but issue rs.next() calls
through the ResultSet to time the execution without any other work being
done.

I can't believe that I am not doing something wrong as the difference in
execution time is extreme. Is this normal?

Any advice would be greatly appreciated.

Thanks,

Craig

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Albe Laurenz 2008-12-17 07:41:13 Re: ResultSet performance question
Previous Message Lucas 2008-12-16 10:24:31 Re: JNDI Tomcat and PostgreSQL Error