Re: Slow count(*) again...

Pierre C <lists@peufeu.com>

From: "Pierre C" <lists@peufeu.com>
To: "pgsql-performance@postgresql.org" <pgsql-performance@postgresql.org>, "Neil Whelchel" <neil.whelchel@gmail.com>
Date: 2010-10-12T21:35:01Z
Lists: pgsql-hackers, pgsql-performance
> suggest that 99% instances of the "select count(*)" idiom are probably
>> bad use of the SQL language.

Well, suppose you paginate results. If the user sees that the search query  
returns 500 pages, there are two options :

- you're google, and your sorting algorithms are so good that the answer  
the user wants is in the first page
- or the user will refine his search by entering more keywords tu get a  
manageable result set

So, in both cases, the count(*) was useless anyway. And the slowest ones  
are the most useless, since the user will immediatey discard the result  
and refine his query.

If your full text search is slow, try Xapian or Lucene.