From: | Jean-Luc Lachance <jllachan(at)nsd(dot)ca> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Greg Stark <gsstark(at)mit(dot)edu>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: why does count take so long? |
Date: | 2003-09-09 16:21:07 |
Message-ID: | 3F5DFDF3.5A3B2901@nsd.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
How about keeping counts of inserts, deletes and updates per table per
transaction as part of the live statistics?
Tom Lane wrote:
>
> I said:
> > Greg Stark <gsstark(at)mit(dot)edu> writes:
> >> Things like count(*) could use int4 until it overflows though.
>
> > I don't see a reasonable way for an aggregate to change state datatype
> > on the fly; otherwise this would be a great solution.
>
> On the other hand, the cost is imposed by the generic aggregate
> definition that says the aggregate state transition function is an
> ordinary function. This is fine for user-defined aggregates, but there
> is no law that says that all the built-in aggregates must use that same
> API. We could probably invent some API that allows COUNT(*) to keep its
> running count someplace where it needn't be re-palloc'd on every cycle.
> Something to think about for 7.5 (too late for 7.4 I fear).
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
From | Date | Subject | |
---|---|---|---|
Next Message | Darko Prenosil | 2003-09-09 16:25:38 | Re: German special characters Problem |
Previous Message | Michael Vodep | 2003-09-09 15:49:57 | Adding header nam to any table |