pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Dawid Kuroczko <qnex42@gmail.com>
To: Rod Taylor <pg@rbt.ca>
Cc: Steve Wampler <swampler@noao.edu>
Cc: pgsql-sql@postgresql.org, Bruno Wolff III <bruno@wolff.to>
Subject: Re: Make COUNT(*) Faster?
Date: Fri, 8 Jul 2005 17:34:27 +0200
Message-ID: <758d5e7f050708083423c20c70@mail.gmail.com> (raw)
In-Reply-To: <1120836150.24708.251.camel@home>
References: <9EF2931D-1097-470D-8ECB-59D00166C96F@apple.com>
	<60vf3mklue.fsf@dba2.int.libertyrms.com>
	<42CE89CA.2070607@noao.edu>
	<20050708143508.GD22725@wolff.to>
	<42CE96AF.3020903@noao.edu>
	<1120836150.24708.251.camel@home>

On 7/8/05, Rod Taylor <pg@rbt.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? ;-)))



view thread (21+ messages)  latest in thread

Message-ID: <758d5e7f050708083423c20c70@mail.gmail.com>
Permalink:  ../758d5e7f050708083423c20c70@mail.gmail.com/
Also on:    postgresql.org/message-id/758d5e7f050708083423c20c70@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: qnex42@gmail.com, pg@rbt.ca, swampler@noao.edu, bruno@wolff.to
  Subject: Re: Make COUNT(*) Faster?
  In-Reply-To: <758d5e7f050708083423c20c70@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox