| From: | Doug McNaught <doug(at)mcnaught(dot)org> |
|---|---|
| To: | Hervé Piedvache <herve(at)elma(dot)fr> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Thousands INSERT going slow ... |
| Date: | 2003-03-22 17:36:09 |
| Message-ID: | m3wuir483a.fsf@varsoon.wireboard.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
=?iso-8859-15?q?Herv=E9=20Piedvache?= <herve(at)elma(dot)fr> writes:
> Hi,
>
> I'm just testing insertion of about 600 000 records inside 3 tables.
>
> Just making a big text file with 3 inserts each time (for my 3 tables) like
> insert into xx (yy) values ('data'); so I have 3 x 600 000 inserts inside the
> file.
>
> Table N2 have a reference on the Table N1 with the primary key ...
> It's not a transaction ... I have only a primary key on each 3 tables ...
You're getting killed by transaction overhead. Make it so you do 1000
or so (or even more, big transactions don't hurt) inserts in a single
transaction and you'll see much better performance.
Also (under 7.3) run VACUUM during the insertion process--it may help.
You could also disable the foreign key triggers during the run if
you're sure the data is consistent.
-Doug
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Doug McNaught | 2003-03-22 17:39:20 | Re: Point in time recovery? |
| Previous Message | Tom Lane | 2003-03-22 17:33:54 | Re: Thousands INSERT going slow ... |