Re: really quick multiple inserts can use COPY?

From: imad <immaad(at)gmail(dot)com>
To: "Andreas Kretschmer" <akretschmer(at)spamfence(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: really quick multiple inserts can use COPY?
Date: 2006-12-11 19:22:19
Message-ID: 1f30b80c0612111122i347e5f31k39a8193db2d4cd10@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 12/11/06, Andreas Kretschmer <akretschmer(at)spamfence(dot)net> wrote:
> Jens Schipkowski <jens(dot)schipkowski(at)apus(dot)co(dot)at> schrieb:
>
> > 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.
>
> Can you change this from INSERT-Statements to COPY? Copy is *much*
> faster than INSERT.
>
> If no, do you using all INSERTs in one transaction? I believe, a 'BEGIN'
> and a 'COMMIT' around all INSERTs may increase the speed.

Performance increment can also be gained by disabling constraints in the
transaction. These disabled constraints are invoked at the end of the
transaction according to the SQL standard, so no worries about data
consistency.

Hmmm... PG currently supports disabling foreign constraints only. But that
can still be significant.

--Imad
www.EnterpriseDB.com

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Merlin Moncure 2006-12-11 19:28:25 Re: New to PostgreSQL, performance considerations
Previous Message Michael Stone 2006-12-11 18:57:28 Re: New to PostgreSQL, performance considerations