Re: Make COUNT(*) Faster?

From: Rod Taylor <pg(at)rbt(dot)ca>
To: Dawid Kuroczko <qnex42(at)gmail(dot)com>
Cc: Steve Wampler <swampler(at)noao(dot)edu>, pgsql-sql(at)postgresql(dot)org, Bruno Wolff III <bruno(at)wolff(dot)to>
Subject: Re: Make COUNT(*) Faster?
Date: 2005-07-08 15:38:31
Message-ID: 1120837111.24708.252.camel@home
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Fri, 2005-07-08 at 17:34 +0200, Dawid Kuroczko wrote:
> On 7/8/05, Rod Taylor <pg(at)rbt(dot)ca> wrote:
> > Create 2 sequences, one for counting tuple additions and one for
> > counting tuple deletions.
> >
> > When you INSERT a tuple, bump the "added" sequence (select nextval());
> >
> > When you DELETE a tuple, bump the "deleted" sequence (select nextval());
> >
> > To retrieve an approximate count, take the current value of both
> > sequences (select directly -- don't use currval) and subtract the
> > "deletes" from the "adds".
>
> Never thought of that! Good idea. :-)
>
> Regards,
> Dawid
>
> PS: There aren't any on ROLLBACK triggers, right? ;-)))

No. You could make then RI triggers and have them deferred until commit
though.

--

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2005-07-08 15:55:50 Re: two sums in one query
Previous Message Tom Lane 2005-07-08 15:35:00 Re: Make COUNT(*) Faster?