Re: count(*) slow on large tables
Jeff Trout <threshar@torgo.978.org>
From: Jeff <threshar@torgo.978.org>
To: Christopher Browne <cbbrowne@acm.org>
Cc: "pgsql-performance@postgresql.org" <pgsql-performance@postgresql.org>
Date: 2003-10-03T12:36:42Z
Lists: pgsql-hackers, pgsql-performance
On Thu, 2 Oct 2003, Christopher Browne wrote: > I can't imagine why the raw number of tuples in a relation would be > expected to necessarily be terribly useful. > We use stuff like that for reporting queries. example: On our message boards each post is a row. The powers that be like to know how many posts there are total (In addition to 'today')- select count(*) from posts is how it has been done on our informix db. With our port to PG I instead select reltuples pg_class. I know when I login to a new db (or unknown to me db) the first thing I do is look at tables and see what sort of data there is.. but in code I'd rarely do that. I know some monitoring things around here also do a select count(*) on sometable to ensure it is growing, but like you said, this is easily done with the number of pages as well. yes. Informix caches this data. I believe Oracle does too. Mysql with InnoDB does the same thing PG does. (MyISAM caches it) -- Jeff Trout <jeff@jefftrout.com> http://www.jefftrout.com/ http://www.stuarthamm.net/