Re: count * performance issue

From: "Mark Lewis" <mark(dot)lewis(at)mir3(dot)com>
To: "Craig James" <craig_james(at)emolecules(dot)com>
Cc: <pgsql-performance(at)postgresql(dot)org>
Subject: Re: count * performance issue
Date: 2008-03-06 16:16:31
Message-ID: 1204820047.9048.902.camel@archimedes
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Thu, 2008-03-06 at 07:28 -0800, Craig James wrote:
...
> My question is: What do the other databases do that Postgres can't do, and why not?
>
> Count() on Oracle and MySQL is almost instantaneous, even for very large tables. So why can't Postgres do what they do?
...

I can vouch that Oracle can still take linear time to perform a
count(*), at least in some cases.

I have also seen count(*) fast in some cases too... my understanding is
that they maintain a list of "interested transactions" on a per-relation
basis. Perhaps they do an optimization based on the index size if there
are no pending DML transactions?

-- Mark

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Joshua D. Drake 2008-03-06 16:28:49 Re: oid...any optimizations
Previous Message Dave Page 2008-03-06 16:05:59 Re: count * performance issue