Re: database speed

From: Greg Stark <gsstark(at)mit(dot)edu>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: database speed
Date: 2003-10-31 04:23:38
Message-ID: 87ptgeavcl.fsf@stark.dyndns.tv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


"Chris Stokes" <ChrisS(at)BassSoftware(dot)com> writes:

> I wondered if it might be a row chaining issue of some sort ?!?

Just to address this point:

Row Chaining is how Oracle deals with updates when the new record takes more
space than is available in the original block. Since Oracle does in-place
updates this is a real problem. It has to put a pointer in the first block to
a second overflow block. A busy table in which records often grow and shrink
can become slow because of having to follow all these pointers.

Postgres is very different. Updates in Postgres aren't in-place; every update
in Postgres is a delete and insert. Therefore there's no row-chaining problem,
in fact records can be packed (pctfree 0 pctused 100).

There are analogous problems though. It's easier to keep a heavily updated
table "clean" with postgres's approach but there are still a lot of cases to
consider. The free space can be fragmented (vacuum full can help that), the
data can be very poorly distributed (cluster can help that temporarily).

--
greg

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alex 2003-10-31 06:01:21 DBD::Pg Err / Errstr
Previous Message Uwe C. Schroeder 2003-10-31 03:43:50 Trigger or Rule ?