Re: slow query - Mailing list pgsql-performance

From Tom Lane
Subject Re: slow query
Date
Msg-id 5421.1046119835@sss.pgh.pa.us
Whole thread Raw
In response to Re: slow query  (Josh Berkus <josh@agliodbs.com>)
Responses Re: slow query  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-performance
Josh Berkus <josh@agliodbs.com> writes:
> ... However, I agree that good FSM tuning and frequent
> regular VACUUMs can greatly extend the period required for running FULL.

> I have not found, though, that this does anything to prevent the need for
> REINDEX on frequently-updated tables.  How about you, Robert?

As of 7.3, FSM doesn't have anything to do with indexes.  If you have
index bloat, it's because of the inherent inability of btree indexes to
reuse space when the data distribution changes over time.  (Portions of
the btree may become empty, but they aren't recycled.)  You'll
particularly get burnt by indexes that are on OIDs or sequentially
assigned ID numbers, since the set of IDs in use just naturally tends to
migrate higher over time.  I don't think that the update rate per se has
much to do with this, it's the insertion of new IDs and deletion of old
ones that causes the statistical shift.  The tree grows at the right
edge, but doesn't shrink at the left.

As of CVS tip, however, the situation is different ;-).  Btree indexes
will recycle space using FSM in 7.4.

            regards, tom lane

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Memory taken by FSM_relations
Next
From: Anuradha Ratnaweera
Date:
Subject: Superfluous merge/sort