From: | "Merlin Moncure" <mmoncure(at)gmail(dot)com> |
---|---|
To: | "Kenneth Downs" <ken(at)secdat(dot)com> |
Cc: | RPK <rpk(dot)general(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: MVCC cons |
Date: | 2007-08-15 01:36:28 |
Message-ID: | b42b73150708141836j4e2df84dv2a5963cb2edf0cfd@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 8/14/07, Kenneth Downs <ken(at)secdat(dot)com> wrote:
> RPK wrote:
> > I want to know whether MVCC has cons also. Is it heavy on resources? How
> > PGSQL MVCC relates with SQL Server 2005 new Snapshot Isolation.
> >
>
> Speaking as an end-user, I can give only one I've ever seen, which is
> performance. Because of MVCC, Postgres's write performance (insert and
> update) appears on my systems to be almost exactly linear to row size.
> Inserting 1000 rows into a table with row size 100 characters takes
> twice as long as inserting 1000 rows into a table with row size 50
> characters.
You were half right. Inserts in PostgreSQL perform similar to other
databases (or at least, use similar mechanisms). It's the updates
that suffer, because this translates to delete + insert essentially.
Databases that use simple locking strategies can simply update the
record in place.
PostgreSQL wins in terms of better concurrency (especially in long
transactions or transactions that touch a lot of records), cheap
rollbacks, and all the advantages of a sophisticated locking engine
(transactional ddl for example).
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-08-15 01:42:53 | Re: pqlib in c++: PQconnectStart PQconnectPoll |
Previous Message | Trevor Talbot | 2007-08-15 01:25:05 | Re: Moving to postgresql and some ignorant questions |