Re: Question about speed: Weird Behavior - Mailing list pgsql-jdbc

From Israel Ben Guilherme Fonseca
Subject Re: Question about speed: Weird Behavior
Date
Msg-id BANLkTik5zXqJbVZ_K87KntnRsORWTVmvnw@mail.gmail.com
Whole thread Raw
In response to Re: Question about speed: Weird Behavior  (Radosław Smogura <rsmogura@softperience.eu>)
List pgsql-jdbc
I followed the code order.

First warm up, and for last the select * from Curso

No fetch size settings. The code is only what I showed.

--

Another thing, I didn't say it, but if you notice my warm up code do a select in a different table (Pessoa), not Curso. It isn't scanning the Curso table, so it won't do any optimization.


I'll give a look in this TCP/IP autotunning.

--

In the psycopg2 postgresql driver (A python driver), the packages are with constant size (around 8000 bytes), with it the time value are totally constant, no matter if I do loops on the queries, If all this is controlled by kernel/postgres side, I keep wondering why this is so different of the java driver.

I think that I'll ask them too,

Thanks,

2011/6/14 Radosław Smogura <rsmogura@softperience.eu>
On Mon, 13 Jun 2011 21:44:45 -0700, Samuel Gendler wrote:
On Mon, Jun 13, 2011 at 6:07 PM, Israel Ben Guilherme Fonseca  wrote:


When I use the count, my timings get around of

100 miliseconds.

When I use the select it goes to

30 miliseconds.

I dont know much about the internals of the protocol used to move data
around for jdbc, but doesnt this actually make some sense?  If the

query returns as soon as the first row has arrived, then select *
should definitely be faster than select count(*), since count(*) cant

return until the entire table has been scanned, whereas select *
returns with the first row received.  That, at least, seems like a
likely candidate for the difference between them, no?

--sam



Links:
------
[1] mailto:israel.bgf@gmail.com
Did you ran your queries in above order or did you changed order of queries. Please bear in mind, that if you set fetch size, then cursor approch will be used and not all data will be transferred to client side.

Regards,
Radek

pgsql-jdbc by date:

Previous
From: Radosław Smogura
Date:
Subject: Re: Question about speed: Weird Behavior
Next
From: Bruce Adams
Date:
Subject: Re: Failover Datasource?