pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Guillaume Cottenceau <gc@mnc.ch>
To: Jens Schipkowski <jens.schipkowski@apus.co.at>
Cc: pgsql-performance@postgresql.org
Subject: Re: really quick multiple inserts can use COPY?
Date: 11 Dec 2006 17:53:52 +0100
Message-ID: <87vekiqspr.fsf@meuh.mnc.lan> (raw)
In-Reply-To: <op.tkekypo381rjf6@xjens.apus.local>
References: <op.tkekypo381rjf6@xjens.apus.local>

"Jens Schipkowski" <jens.schipkowski 'at' apus.co.at> writes:

> Hello!
> 
> In our JAVA application we do multiple inserts to a table by data from
> a  Hash Map. Due to poor database access implemention - done by
> another  company (we got the job to enhance the software) - we cannot
> use prepared  statements. (We are not allowed to change code at
> database access!)
> First, we tried to fire one INSERT statement per record to insert.
> This  costs 3 ms per row which is to slow because normally we insert
> 10.000  records which results in 30.000 ms just for inserts.
> 
> for(){
> sql = "INSERT INTO tblfoo(foo,bar) VALUES("+it.next()+","+CONST.BAR+");";
> }

You should try to wrap that into a single transaction. PostgreSQL
waits for I/O write completion for each INSERT as it's
implicitely in its own transaction. Maybe the added performance
would be satisfactory for you.

-- 
Guillaume Cottenceau
Create your personal SMS or WAP Service - visit http://mobilefriends.ch/



view thread (8+ messages)  latest in thread

Message-ID: <87vekiqspr.fsf@meuh.mnc.lan>
Permalink:  ../87vekiqspr.fsf@meuh.mnc.lan/
Also on:    postgresql.org/message-id/87vekiqspr.fsf@meuh.mnc.lan

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: gc@mnc.ch, jens.schipkowski@apus.co.at
  Subject: Re: really quick multiple inserts can use COPY?
  In-Reply-To: <87vekiqspr.fsf@meuh.mnc.lan>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox