From: | manchicken <manchicken(at)notsosoft(dot)net> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Counting all rows |
Date: | 2007-06-23 15:13:32 |
Message-ID: | 200706231013.32458.manchicken@notsosoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Saturday 23 June 2007 05:38:56 Andreas Kretschmer wrote:
> Stefan Arentz <stefan(dot)arentz(at)gmail(dot)com> schrieb:
> > I need to get statistics from a bunch of tables. Simply the number of
> > records in them.
> >
> > The query plan looks like this:
> >
> > => explain select count(id) from stuff;
> > QUERY PLAN
> > -------------------------------------------------------------------
> > Aggregate (cost=1629.69..1629.70 rows=1 width=8)
> > -> Seq Scan on stuff (cost=0.00..1517.75 rows=44775 width=8)
> >
> > The sequential scan kind of worries me. Is there a better/faster way to
> > do this?
>
> Yes.
>
> A "select count(*) from foo;" enforces a seq. scan. Solutions for this
> are discussed here: http://www.varlena.com/GeneralBits/120.php
>
>
> Andreas
Is there any neat trick for doing this for paging estimates? It looks like
the only way to get a result count from a more complex query is to either
fetch a count first, or to fetch all records and count them in the
application.
--
~ manchicken <><
(A)bort, (R)etry, (I)nfluence with large hammer.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
From | Date | Subject | |
---|---|---|---|
Next Message | A. R. Van Hook | 2007-06-24 11:14:00 | Re: join problem |
Previous Message | Stefan Arentz | 2007-06-23 13:15:22 | Re: Counting all rows |