From: | Dimitris Karampinas <dkarampin(at)gmail(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | Sehrope Sarkuni <sehrope(at)jackdb(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 18:46:27 |
Message-ID: | CAC_Q3NwRf0Do7W9SA30KzDGPYcjaNGFPsSUdZ-B9L=WC3xRwGg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Thanks, EXPLAIN ANALYSE might be an option for me.
One more question, because in certain cases I get strange results.
Does jdbc do any kind of result or query caching by default ?
-dk
On Sun, Apr 20, 2014 at 2:22 AM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
> 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 | Dave Cramer | 2014-04-20 18:53:15 | Re: How to prevent jdbc from sending any results back to the client ? |
Previous Message | Dave Cramer | 2014-04-20 00:22:08 | Re: How to prevent jdbc from sending any results back to the client ? |