Re: Inserting a large number of records

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Steve Wampler <swampler(at)noao(dot)edu>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Inserting a large number of records
Date: 2005-07-15 08:33:35
Message-ID: 42D774DF.6010508@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Steve Wampler wrote:
> Oliver Jowett wrote:
>
>>Greg Alton wrote:
>>
>>
>>>What is the most efficient way to insert a large number of records into
>>>a table?
>>
>>
>>I use a PreparedStatement INSERT and addBatch() / executeBatch() with
>>autocommit off and no constraints or indexes present.
>
>
> Does anyone have an idea as to how the performance of this would compare
> to using a COPY? I've used the COPY patches with jdbc and 7.4.x with
> impressive results, but if the above is 'nearly' as good then I don't have
> to put off upgrading to 8.x while waiting on jdbc to officially include
> support for COPY. (I can't test the above right now. Maybe soon, though.)

I have one dataset that is about 20 million rows and takes about 40
minutes to import via batched INSERTs including translation from the
original format (I'd guess perhaps 10-15% overhead). The same dataset
dumped by pg_dump in COPY format takes about 15 minutes to restore
(using psql not JDBC though)

-O

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2005-07-15 11:47:42 Re: Inserting a large number of records
Previous Message Csaba Nagy 2005-07-15 08:12:27 Re: Using a 7_4 JDBC driver to connect to 8.0