Re: Slow UPADTE, compared to INSERT

William Yu <wyu@talisys.com>

From: William Yu <wyu@talisys.com>
To: pgsql-performance@postgresql.org
Date: 2003-12-04T19:59:01Z
Lists: pgsql-performance
Ivar Zarans wrote:
> 
> I am experiencing strange behaviour, where simple UPDATE of one field is
> very slow, compared to INSERT into table with multiple indexes. I have
> two tables - one with raw data records (about 24000), where one field

In Postgres and any other DB that uses MVCC (multi-version concurrency), 
UPDATES will always be slower than INSERTS. With MVCC, what the DB does 
is makes a copy of the record, updates that record and then invalidates 
the previous record. This allows maintains a consistent view for anybody 
who's reading the DB and also avoids the requirement of row locks.

If you have to use UPDATE, make sure (1) your UPDATE WHERE clause is 
properly indexed and (2) you are running ANALYZE/VACUUM periodically so 
the query planner can optimize for your UPDATE statements.