Re: Why so slow?

From: Alan Hodgson <ahodgson(at)simkin(dot)ca>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Why so slow?
Date: 2006-04-28 15:02:59
Message-ID: 200604280802.59696@hal.medialogik.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On April 28, 2006 04:41 am, "Bealach-na Bo" <bealach_na_bo(at)hotmail(dot)com>
wrote:
> INFO: index "job_log_id_pkey" now contains 10496152 row versions in
> 59665 pages

See the 10496152 above? That means you have 10496152 rows of data in your
table. If those, only 365000 are alive. That means you have basically
never vacuumed this table before, correct?

Every update or delete creates a new dead row. count(*) scans the whole
table, dead rows included. That's why it takes so long, the table acts as
though it has 10496152 rows when doing sequential scans.

Do a VACCUM FULL on it or CLUSTER it on on a index, both of which will empty
out all the free space and make it behave as it should. Note; VACUUM FULL
will take quite a while and requires an exclusive lock on the table.
CLUSTER also requires an exclusive lock but should be a lot faster for this
table.

Oh, and get autovacuum setup and working, posthaste.

--
No long, complicated contracts. No actuarial tables to pore over. Social
Security operates on a very simple principle: the politicians take your
money from you and squander it "

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2006-04-28 15:35:04 Re: Arrays and index scan
Previous Message Jim C. Nasby 2006-04-28 14:58:43 Re: Why so slow?