Re: Why count(*) doest use index? - Mailing list pgsql-general

From Raymond O'Donnell
Subject Re: Why count(*) doest use index?
Date
Msg-id 4D726CAB.8040503@iol.ie
Whole thread Raw
In response to Why count(*) doest use index?  (<obamabarak@e1.ru>)
Responses Re: Why count(*) doest use index?  (Allan Kamau <kamauallan@gmail.com>)
List pgsql-general
On 03/03/2011 13:29, obamabarak@e1.ru wrote:
> I use pgsql 9.0.3 and I know that postgresql tries to use the fields in
> indexes instead of the original table if it possible
>
> But when I run
>
> SELECT COUNT(id) FROM tab
>
> or
>
> SELECT COUNT(*) FROM tab
>
> where there "id" is PRIMARY KEY and there are other indexes there I get
> execution plan that doesnt use any indexes, but sequentab scanning the
> original table.

Because when you do SELECT COUNT(*) without any WHERE.... clause, then
PostgreSQL has to scan through *all* the rows in the table in order to
count them.

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: PHP array to PlPgSQL arrat. How to?
Next
From: Dmitriy Igrishin
Date:
Subject: Re: PHP array to PlPgSQL arrat. How to?