Re: Insert performance, what should I expect?
Rod Taylor <pg@rbt.ca>
From: Rod Taylor <pg@rbt.ca>
To: Brock Henry <brock.henry@gmail.com>
Cc: Postgresql Performance <pgsql-performance@postgresql.org>
Date: 2004-10-20T02:12:28Z
Lists: pgsql-performance
> I've done some manual benchmarking running my script 'time script.pl' > I realise my script uses some of the time, bench marking shows that > %50 of the time is spent in dbd:execute. The perl drivers don't currently use database level prepared statements which would give a small boost. But your best bet is to switch to using COPY instead of INSERT. Two ways to do this. 1) Drop DBD::Pg and switch to the Pg driver for Perl instead (non-DBI compliant) which has functions similar to putline() that allow COPY to be used. 2) Have your perl script output a .sql file with the data prepared (COPY statements) which you feed into the database via psql. You can probably achieve a 50% increase in throughput.