Re: How to prevent jdbc from sending any results back to the client ?

Поиск
Список
Период
Сортировка
От Mark Kirkwood
Тема Re: How to prevent jdbc from sending any results back to the client ?
Дата
Msg-id 5354B0D3.2010900@catalyst.net.nz
обсуждение исходный текст
Ответ на Re: How to prevent jdbc from sending any results back to the client ?  (Dave Cramer <pg@fastcrypt.com>)
Ответы Re: How to prevent jdbc from sending any results back to the client ?  (Mark Kirkwood <mark.kirkwood@catalyst.net.nz>)
Список pgsql-jdbc
One possible problem with using EXPLAIN ANALYZE is that the cost of
timing each step can artificially inflate the query time...however you
can avoid this by using the variant:

EXPLAIN (ANALYZE,TIMING FALSE) statement

Which still does the query, but skips timing each step (which I think
probably what you want). It still says how long the entire statement took.

regards

Mark


On 20/04/14 12:22, Dave Cramer 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@jackdb.com
> <mailto:sehrope@jackdb.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@gmail.com <mailto:dkarampin@gmail.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
>
>



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: How to prevent jdbc from sending any results back to the client ?
Следующее
От: Mark Kirkwood
Дата:
Сообщение: Re: How to prevent jdbc from sending any results back to the client ?