From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | John Naylor <john(dot)naylor(at)enterprisedb(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [RFC] speed up count(*) |
Date: | 2021-10-21 20:19:05 |
Message-ID: | 0fb27154-ee62-9dc1-52a7-7e6d1b5b628d@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 10/21/21 4:06 PM, Robert Haas wrote:
> On Thu, Oct 21, 2021 at 9:09 AM Joe Conway <mail(at)joeconway(dot)com> wrote:
>> I think you are exactly correct. People seem to understand that with a
>> predicate it is harder, but they expect
>>
>> select count(*) from foo;
>>
>> to be nearly instantaneous, and they don't really need it to be exact.
>> The stock answer for that has been to do
>>
>> select reltuples from pg_class
>> where relname = 'foo';
>>
>> But that is unsatisfying because the problem is often with some
>> benchmark or another that cannot be changed.
>
> I would also expect it to almost always give the wrong answer.
That is a grossly overstated position. When I have looked, it is often
not that terribly far off. And for many use cases that I have heard of
at least, quite adequate.
Joe
--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2021-10-21 20:19:56 | Re: parallelizing the archiver |
Previous Message | David Christensen | 2021-10-21 20:07:17 | Re: CREATE ROLE IF NOT EXISTS |