From: Richard Huxton <dev@archonet.com>
To: Adrian Moisey <adrian@careerjunction.co.za>
Cc: Bill Moran <wmoran@collaborativefusion.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: db size
Date: Thu, 17 Apr 2008 09:52:31 +0100
Message-ID: <48070FCF.7070102@archonet.com> (raw)
In-Reply-To: <48070DC3.1040709@careerjunction.co.za>
References: <4802F9E4.3000704@careerjunction.co.za>
<op.t9lf4tvrcigqcu@apollo13.peufeu.com>
<48032237.4040604@careerjunction.co.za>
<op.t9lgusticigqcu@apollo13.peufeu.com>
<4803276C.2090901@careerjunction.co.za>
<op.t9lh5em8cigqcu@apollo13.peufeu.com>
<48045A32.3010607@careerjunction.co.za>
<20080415071222.36b2e8eb.wmoran@collaborativefusion.com>
<4806EE1A.8010400@careerjunction.co.za>
<48070708.4060605@archonet.com>
<48070DC3.1040709@careerjunction.co.za>
Adrian Moisey wrote:
> Hi
>
>>> INFO: "blahxxx": scanned 27 of 27 pages, containing 1272 live rows
>>> and 0 dead rows; 1272 rows in sample, 1272 estimated total rows
>>
>> This is a small table that takes up 27 pages and it scanned all of
>> them. You have 1272 rows in it and none of them are dead (i.e.
>> deleted/updated but still taking up space).
>
> I had a look through a few other tables...:
>
> INFO: "table1": scanned 22988 of 22988 pages, containing 2713446 live
> rows and 895662 dead rows; 45000 rows in sample, 2713446 estimate
> d total rows
>
> INFO: "table2": scanned 24600 of 24600 pages, containing 270585 live
> rows and 65524 dead rows; 45000 rows in sample, 270585 estimated total rows
>
> Is that dead rows an issue? Should I try clean it out? Will it improve
> performance ?
What you're hoping to see is that figure remain stable. The point of the
free-space-map is to track these and allow the space to be re-used. If
you find that the number of dead rows is increasing then either you are:
1. Just deleting rows
2. Not vacuuming enough - check your autovacuum settings
The effect on performance is that when you read in a page from disk
you're reading dead rows along with the data you are after. Trying to
keep 0 dead rows in a constantly updated table isn't worth the effort
though - you'd end up wasting your disk I/O on maintenance rather than
queries.
The figures above look high to me - 90,000 out of 270,000 and 65,000 out
of 270,000. Of course, if these tables have just had bulk
updates/deletes then that's fine. If there's a steady stream of updates
though, you probably want to up your autovacuum settings.
--
Richard Huxton
Archonet Ltd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: dev@archonet.com, adrian@careerjunction.co.za, wmoran@collaborativefusion.com
Subject: Re: db size
In-Reply-To: <48070FCF.7070102@archonet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox