JDBC Overhead

From: "Bob Damato" <bob_damato(at)coxtarget(dot)com>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: JDBC Overhead
Date: 2006-08-01 20:05:38
Message-ID: 3C0EE29939948549A093F180634257028F2895@ex-1.coxtarget.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

It appears to me as if there is quite a bit of overhead with the
Postgres JDBC driver when compared with other JDBC drivers. This simple
piece of code shows me something very odd:

-------------------------------------------------------
ps = con.prepareStatement("SELECT 1");
long execStart = System.currentTimeMillis();
rs = ps.executeQuery();
System.err.println ("Query executed in " + (System.currentTimeMillis() -
execStart) + "ms");
--------------------------------------------------------

Result of this code is:
Query executed in 57ms

But with duration logging enabled on the database side, I can see that
the database side processing time was less than 1 ms.
LOG: duration: 0.073 ms statement: EXECUTE <unnamed> [PREPARE:
SELECT 1]

When I run this same code against a mySQL or Sybase database, I get 1ms
execution time. Am I missing some bit of tuning that I can do with the
database or the JDBC driver to eliminate that 50+ms of latency?

I am running postgres 8.1.4 on solaris and I've tried all 3 JDBC
drivers. The java program is running on the same server as the database
so I don't believe there is any network latency involved.

Thanks!!

________________________________________________________________________
_____________
Bob Damato
Cox Target Media
Internet Technology Manager
Largo, Florida

Our greatest glory is not in never falling, but in rising every time we
fall. -- Confucius

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message John R Pierce 2006-08-02 00:40:14 Re: JDBC Overhead
Previous Message ron 2006-08-01 04:25:35 Re: Callablestatement's resulting resultset not scrollable