From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Sehrope Sarkuni <sehrope(at)jackdb(dot)com> |
Cc: | Dimitris Karampinas <dkarampin(at)gmail(dot)com>, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: How to prevent jdbc from sending any results back to the client ? |
Date: | 2014-04-20 00:22:08 |
Message-ID: | CADK3HHJS0XLMhEZiwpi=iPm8DDzQvxzL-ffFkfcXycMfVz3MDg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Dimitris,
You would be better off running queries such as explain analyze which do
not return results, but do time the query. Every postgresql client library
will have to wait for the results. That is essentially the way the protocol
works
Dave
Dave Cramer
dave.cramer(at)credativ(dot)ca
http://www.credativ.ca
On 19 April 2014 15:02, Sehrope Sarkuni <sehrope(at)jackdb(dot)com> wrote:
> The fetch size only comes into play if your are in a transaction. You have
> to disable auto commit and set the fetch size before executing your query.
> Otherwise the entire query result will be read and buffered in memory.
>
> An alternative is to run the command as an EXPLAIN ANALYZE[1]. The server
> will then execute the entire operation but instead of sending back the data
> it will send the query plan and runtime statistics.
>
> [1]: http://www.postgresql.org/docs/9.3/static/sql-explain.html
>
> Regards,
> Sehrope Sarkuni
> Founder & CEO | JackDB, Inc. | http://www.jackdb.com/
>
> On Apr 19, 2014, at 2:48 PM, Dimitris Karampinas <dkarampin(at)gmail(dot)com>
> wrote:
>
> Hi,
>
> I'm working on an academic project and I need to benchmark PostgreSQL.
> I'm intersted only about the performance of the DBMS itself and I'm trying
> to keep things simple in my measurements.
> Preferably I'd like to ignore the query results at the client side but
> jdbc seems to return results even if I don't call next() on the Resultset
> (is that true ?).
> As a consequence, I can't measure acurately a per query execution time
> since the time I get depends also on the time spent to send the answer (or
> part of it) to the client.
> setFetchSize(1) doesn't seem to help much.
> Can I hack the driver and diminish the overhead explained above ?
>
> Cheers,
> Dimitris
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitris Karampinas | 2014-04-20 18:46:27 | Re: How to prevent jdbc from sending any results back to the client ? |
Previous Message | Sehrope Sarkuni | 2014-04-19 19:02:12 | Re: How to prevent jdbc from sending any results back to the client ? |