Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-performance by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group