Re: Performance of jdbc insert statements and select nextval
- From: Kris Jurka <books(at)ejurka(dot)com>
- To: ralf(dot)baumhof(at)bgs-ag(dot)de
- Cc: pgsql-jdbc(at)postgresql(dot)org
- Subject: Re: Performance of jdbc insert statements and select nextval
- Date: Fri, 20 Feb 2009 12:41:52 -0500 (EST)
- Message-id: <Pine.BSO.4.64.0902201230530.23634@leary.csoft.net> <text/plain>
On Fri, 20 Feb 2009, ralf(dot)baumhof(at)bgs-ag(dot)de wrote:
[insert with pgadmin is faster than JDBC]
As I explained previously I believe pgadmin is sending all of your inserts
in one network roundtrip rather than a single insert at a time. So for
example:
StringBuffer sql = new StringBuffer();
for (int i=0; i<100; i++) {
sql.append("INSERT INTO mytable (a) VALUES (");
sql.append(i).append(")");
}
Statement.execute(sql.toString())
will be faster than
for (int i=0; i<100; i++) {
String sql = "INSERT INTO mytable (a) VALUES (" + i + ")";
Statement.execute(sql);
}
because the second sample has to make 100 network trips instead of just
one.
I made a test with "logical" insert of objects which results in 50000
inserts can be done within 2 minutes, what means 416 inserts per second,
or 1 insert in 2/1000 sec (2ms). The cost estimate with explain for an
insert is on the other hand is 0,4 ms.
Explain cost estimates do not have units of milliseconds, so the
comparison is invalid.
Kris Jurka
Home |
Main Index |
Thread Index