Thread: JDBC addBatch more efficient?

JDBC addBatch more efficient?

From
David Wall
Date:
Just checking if the JDBC library's batch processing code is more
efficient with respect to the postgresql back end or not.  Does it
really batch the requests and submit them once over the link, or does it
just send them to the database to be processed one at a time?

Thanks,
David

Re: JDBC addBatch more efficient?

From
Kris Jurka
Date:

On Sun, 20 Apr 2008, David Wall wrote:

> Just checking if the JDBC library's batch processing code is more efficient
> with respect to the postgresql back end or not.  Does it really batch the
> requests and submit them once over the link, or does it just send them to the
> database to be processed one at a time?
>

The JDBC driver's batch processing is more efficient than regular
execution because it requires fewer network roundtrips so there's less
waiting.  The JDBC batch is broken into an internal batch size of 256
statement and all of these are sent over to the server at once.

Kris Jurka

Re: JDBC addBatch more efficient?

From
David Wall
Date:
> The JDBC driver's batch processing is more efficient than regular
> execution because it requires fewer network roundtrips so there's less
> waiting.  The JDBC batch is broken into an internal batch size of 256
> statement and all of these are sent over to the server at once.

That's great, Kris.  I  believe our code only does 100 updates/deletes
before committing the transaction anyway, so this should work well for us.

Thanks,
David

Re: JDBC addBatch more efficient?

From
Ivano Luberti
Date:
Does this means that the two features are independent one from each other ?
In other words, can we say that JDBC batch will limit information
exchange between client and server while Postgres prepared statements
will optimize their execution ?

Kris Jurka ha scritto:
>
>
> On Sun, 20 Apr 2008, David Wall wrote:
>
>> Just checking if the JDBC library's batch processing code is more
>> efficient with respect to the postgresql back end or not.  Does it
>> really batch the requests and submit them once over the link, or does
>> it just send them to the database to be processed one at a time?
>>
>
> The JDBC driver's batch processing is more efficient than regular
> execution because it requires fewer network roundtrips so there's less
> waiting.  The JDBC batch is broken into an internal batch size of 256
> statement and all of these are sent over to the server at once.
>
> Kris Jurka
>

--
==================================================
Archimede Informatica NEWS!
==================================================

Realizzato il Sistema Integrato per la biglietteria della Torre di Pisa:
prenotazione, vendita, pre-vendita ed emissione dei biglietti di ingresso
alla Torre sia online che presso le biglietterie dislocate sulla piazza:

_http://www.opapisa.it/boxoffice

_Partner del Progetto Ci-Tel "Front office Telematico per il cittadino"
Ente Coordinatore Comune di Pisa

_http://www.comune.pisa.it/doc/e-government.htm


_==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
e-mail: archimede@archicoop.it
web: _http://www.archicoop.it


_ <http://www.archicoop.it/>__ <http://www.archicoop.it/>

Re: JDBC addBatch more efficient?

From
David Wall
Date:
> Does this means that the two features are independent one from each
> other ?
> In other words, can we say that JDBC batch will limit information
> exchange between client and server while Postgres prepared statements
> will optimize their execution ?
I've not used it yet, but my impression is that you can use
PreparedStatements (in a loop typically), often surrounded by jdbc
transaction commit so each statement doesn't run in its own
transactions, do an addBatch and then submit that so all of the
statements are executed by the server as a group.  So in this case, yes,
they should be independent of each other.

David