SELECT COUNT(*) does a scan? - Mailing list pgsql-jdbc

From David Wall
Subject SELECT COUNT(*) does a scan?
Date
Msg-id 43205750.5070806@computer.org
Whole thread Raw
Responses Re: SELECT COUNT(*) does a scan?  (Oliver Jowett <oliver@opencloud.com>)
Re: SELECT COUNT(*) does a scan?  (Dave Cramer <davec@fastcrypt.com>)
List pgsql-jdbc
When I do an EXPLAIN SELECT COUNT(*) FROM tablename, I noted that it
does a table scan.  I thought PG had some sort of table stat that kept
track of the current number of rows in a table, but that doesn't appear
to always be the case.

It seems that right after a VACUUM ANALYZE, that command is very fast
(on a table with 100,000+ rows), but it can also get quite slow, as if a
table scan is taking place.

Does this make sense?  Is there an algorithm that says to use the stats
from analyze only until sufficient updates/inserts/deletes have taken
place to make them "out of date"?

David

pgsql-jdbc by date:

Previous
From: Diego Gil
Date:
Subject: Re: simple insert operation
Next
From: Oliver Jowett
Date:
Subject: Re: SELECT COUNT(*) does a scan?