Re: count(*) slow on large tables
Tomasz Myrta <jasiek@klaster.net>
From: Tomasz Myrta <jasiek@klaster.net>
To: Dror Matalon <dror@zapatec.com>
Cc: "pgsql-performance@postgresql.org" <pgsql-performance@postgresql.org>
Date: 2003-10-02T19:36:42Z
Lists: pgsql-hackers, pgsql-performance
> Hi, > > I have a somewhat large table, 3 million rows, 1 Gig on disk, and growing. Doing a > count(*) takes around 40 seconds. > > Looks like the count(*) fetches the table from disk and goes through it. > Made me wonder, why the optimizer doesn't just choose the smallest index > which in my case is around 60 Megs and goes through it, which it could > do in a fraction of the time. > > Dror Just like other aggregate functions, count(*) won't use indexes when counting whole table. Regards, Tomasz Myrta