Re: : Performance Improvement Strategy

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Venkat Balaji" <venkat(dot)balaji(at)verse(dot)in>
Cc: "Greg Smith" <greg(at)2ndquadrant(dot)com>, <pgsql-performance(at)postgresql(dot)org>
Subject: Re: : Performance Improvement Strategy
Date: 2011-10-03 16:15:17
Message-ID: 4E89994502000025000419B6@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Venkat Balaji <venkat(dot)balaji(at)verse(dot)in> wrote:

> We CLUSTERED a table using mostly used Index. Application is
> performing better now.

CLUSTER can help in at least four ways:

(1) It eliminates bloat in the table heap.

(2) It eliminates bloat in the indexes.

(3) It can correct fragmentation in the underlying disk files.

(4) It can put tuples which are accessed by the same query into
adjacent locations on disk, reducing physical disk access.

An aggressive autovacuum configuration can generally prevent the
first two from coming back to haunt you, and the third may not be a
big problem (depending on your OS and file system), but that last
one is a benefit which will degrade over time in most use cases --
the order in the heap is set by the cluster, but not maintained
after that. If this ordering is a significant part of the
performance improvement you're seeing, you may want to schedule some
regular CLUSTER run. It's hard to say what frequency would make
sense, but if performance gradually deteriorates and a CLUSTER fixes
it, you'll get a sense of how often it pays to do it.

-Kevin

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Venkat Balaji 2011-10-03 16:54:19 Re: : Performance Improvement Strategy
Previous Message Tom Lane 2011-10-03 15:12:31 Re: Query with order by and limit is very slow - wrong index used