Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

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

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group