"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> We are replicating data from 72 source databases, each with the
> official copy of a subset of the data, to four identical consolidated
> databases, spread to separate locations, to serve our web site and other
> organization-wide needs. Currently, two of these central databases are
> running a commercial product and two are running PostgreSQL. There have
> been several times that I have run a SELECT COUNT(*) on an entire table
> on all central machines. On identical hardware, with identical data,
> and equivalent query loads, the PostgreSQL databases have responded with
> a count in 50% to 70% of the time of the commercial product, in spite of
> the fact that the commercial product does a scan of a non-clustered
> index while PostgreSQL scans the data pages.
Interesting. I think though that the people who are complaining come
from databases where COUNT(*) takes constant time because the DB keeps
a running count in the table's metadata.
regards, tom lane