Re: how do you write aggregate function - Mailing list pgsql-general

From Justin
Subject Re: how do you write aggregate function
Date
Msg-id 47D4130F.4050703@emproshunts.com
Whole thread Raw
In response to Re: how do you write aggregate function  (btober@ct.metrocast.net)
Responses Re: how do you write aggregate function  (dmp <danap@ttc-cmc.net>)
Re: how do you write aggregate function  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
I got the aggregate function for weighted average done.   I finely left
alone for more than 10 minutes  to actual get it written.  It takes 2
value input  Weight and the Value.  it will sum the weighted entries to
create the constant then does the normal formula, but does not
percentage number but averaged number.  A simple change on the return
line it can do percentages.

I did a couple of  things a little odd .  instead of doing a multi
dimensional array i did a one dimensional array where the 1st row is
Weight and the  2nd row is Value.   This made the loop through the array
look stupid.

I tested it across 50,000 records with a group by it took 3.3 seconds to
run.

without the group by clause performance is terrible taking several
minutes just to do the sfunc part. 371,563ms

The Array seems to have performance hit any advice?    It could be the
way i'm appending to the Array which has a performance hit as the array
gets bigger and bigger ?


btober@ct.metrocast.net wrote:
> Richard Broersma wrote:
>> On Tue, Mar 4, 2008 at 8:44 AM, Justin <justin@emproshunts.com> wrote:
>>
>>> I searched the archive of the mail list and did not find anything
>
> Search the documentation. There are a couple great examples posted at
>
> http://www.postgresql.org/docs/8.0/interactive/sql-createaggregate.html
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster

Attachment

pgsql-general by date:

Previous
From: Reid Thompson
Date:
Subject: Re: loading a psql input file on win xp
Next
From: dmp
Date:
Subject: Re: how do you write aggregate function