From: | Mark Mielke <mark(at)mark(dot)mielke(dot)cc> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Stephen Denne <Stephen(dot)Denne(at)datamail(dot)co(dot)nz>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com> |
Subject: | Re: count(*) performance improvement ideas |
Date: | 2008-03-19 05:31:16 |
Message-ID: | 47E0A524.3010406@mark.mielke.cc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> "Stephen Denne" <Stephen(dot)Denne(at)datamail(dot)co(dot)nz> writes:
>
>> What I was asking about with those questions, is if a single row is inserted in transaction A, and updated 1000 times still within transaction A, then transaction A commits... does a single row version get written, or 1001, 1000 of which are removable?
>>
>
> Umm ... AFAICS there is no need for an UPDATE to touch the count table
> at all. You'd only need ON INSERT and ON DELETE triggers.
>
This returns to the question of whether count of the whole table is
useful, or whether count of a GROUP BY or WHERE is useful. If GROUP BY
or WHERE is useful, then trigger on UPDATE becomes necessary.
What is the direction here? Is it count of the whole table only? (<--
not interesting to me)
Or count of more practical real life examples, which I completely agree
with Greg, that this gets into the materialized view realm, and becomes
very interesting.
In my current db project, I never count all of the rows in a table.
However, I do use count(*) with GROUP BY and WHERE.
Cheers,
mark
--
Mark Mielke <mark(at)mielke(dot)cc>
From | Date | Subject | |
---|---|---|---|
Next Message | KaiGai Kohei | 2008-03-19 05:55:58 | Re: [PATCHES] [0/4] Proposal of SE-PostgreSQL patches |
Previous Message | Tom Lane | 2008-03-19 03:26:46 | Re: count(*) performance improvement ideas |