Re: autocommit (true/false) for more than 1 million records

From: Emi Lu <emilu(at)encs(dot)concordia(dot)ca>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: pgsql-performance(at)postgresql(dot)org, david(dot)g(dot)johnston(at)gmail(dot)com
Subject: Re: autocommit (true/false) for more than 1 million records
Date: 2014-08-25 13:40:07
Message-ID: 53FB3CB7.8010104@encs.concordia.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Good morning,
>>>> Trying to insert into one table with 1 million records through java
>>>> JDBC into psql8.3. May I know (1) or (2) is better please?
>>>>
>>>> (1) set autocommit(true)
>>>> (2) set autocommit(false)
>>>> commit every n records (e.g., 100, 500, 1000, etc)
>>> It depends on what you need.
>>>
>>> Data will be available to concurrent processes earlier with (1), while
>>> (2) will go faster.
>> No need to worry about the lock/loosing records because after data
>> loading will do a check. For now, I'd like the fastest way. Would
>> you suggest commit every 1000 or 3000 records?
> The improvement drops off pretty quickly in my experience, but it
> depends on the size of the records and other things.
The table is huge with almost 170 columns.

> Try it and see..? It's almost certainly going to depend on your
> specific environment.
Can you let me know what are the "specific environment" please? Such as:
......

By the way, could someone let me know why set autocommit(false) is for
sure faster than true please? Or, some online docs talk about this.

Thanks a lot!
Emi

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message David Johnston 2014-08-25 13:51:25 Re: autocommit (true/false) for more than 1 million records
Previous Message Stephen Frost 2014-08-22 21:21:15 Re: autocommit (true/false) for more than 1 million records