Re: SELECT * FROM LIMIT 1; is really slow - Mailing list pgsql-hackers
From Tom Lane
Subject Re: SELECT * FROM LIMIT 1; is really slow
Date
Msg-id 5660.1085624479@sss.pgh.pa.us
Whole thread Raw
In response to Re: SELECT * FROM LIMIT 1; is really slow  (David Blasby <dblasby@refractions.net>)
Responses Re: SELECT * FROM LIMIT 1; is really slow  (Paul Ramsey <pramsey@refractions.net>)
List pgsql-hackers
David Blasby <dblasby@refractions.net> writes:
> I have another copy of this table in another database - vacuum analyse 
> verbose says its "only" 1,500,000 pages (vs 2,800,000).

Hmm ... this is consistent with the idea that you did an UPDATE
affecting every row of the table.  That would generate N new rows which
would all get added to the end of the table, if there were no dead space
available within the table.  After commit you have a lot of pages worth
of dead tuples followed by a lot of pages worth of live tuples.  Plain
VACUUM cannot do much to fix this since it doesn't move rows around.
VACUUM FULL will fix it, but its index-update overhead is high enough
that CLUSTER is a better deal.

See followup message discussing ALTER TABLE as another alternative.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: SELECT * FROM LIMIT 1; is really slow
Next
From: James Robinson
Date:
Subject: Re: tablespaces and DB administration