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
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 |