[Fwd: Re: how do you write aggregate function]

From: Justin <justin(at)emproshunts(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: [Fwd: Re: how do you write aggregate function]
Date: 2008-03-09 19:11:08
Message-ID: 47D4364C.5020209@emproshunts.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


DMP you did give me an idea on how to call the append array

sfunc looks like this

create or replace function wcost_average_sf (numeric[], numeric, numeric)
returns numeric[] as
$Body$
begin
return array_append(array_append($1, $2), $3);
end;
$Body$
LANGUAGE 'plpgsql' VOLATILE;

this yanked out 140,000 ms aka 2.3 minutes on the run time, a big improvement but no
where, where i want it to be.

are there speed improvements in the other languages TCL

dmp wrote:
> Array appends are usually a performance hit, as you said. I'm not sure
> though with
> PostgreSQL. Why not try it with two arrays and see what happens. At
> least you would
> reducing the single array and the eliminating the append.
>
> danap.
>
>> 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 ?
>
>

Browse pgsql-general by date

  From Date Subject
Next Message Dean Gibson (DB Administrator) 2008-03-09 19:31:29 Re: v8.3 + UTF8 errors when restoring DB
Previous Message Josh Berkus 2008-03-09 18:59:49 Re: Watch your PlanetPostgreSQL.org blogs