Re: Speeding up Aggregates - Mailing list pgsql-performance

From Dror Matalon
Subject Re: Speeding up Aggregates
Date
Msg-id 20031003221658.GS87525@rlx11.zapatec.com
Whole thread Raw
In response to Re: Speeding up Aggregates  (Rod Taylor <rbt@rbt.ca>)
List pgsql-performance
On Fri, Oct 03, 2003 at 06:10:29PM -0400, Rod Taylor wrote:
> On Fri, 2003-10-03 at 17:53, Dror Matalon wrote:
> > On Fri, Oct 03, 2003 at 05:44:49PM -0400, Rod Taylor wrote:
> > > > item_max_date() looks like this:
> > > >    select max(dtstamp) from items where channel = $1 and link = $2;
> > >
> > > It is too bad the (channel, link) index doesn't have dtstamp at the end
> > > of it, otherwise the below query would be a gain (might be a small one
> > > anyway).
> > >
> > >   select dtstamp
> > >     from items
> > >    where channel = $1
> > >      and link = $2
> > > ORDER BY dtstamp DESC
> > >    LIMIT 1;
>
> It didn't make a difference even with the 3 term index? I guess you
> don't have very many common values for channel / link combination.

There's no noticeable difference between two term and three term
indexes.

>
>
>
> How about the below? Note the word STABLE on the end.
>
> CREATE or REPLACE FUNCTION item_max_date (int4, varchar) RETURNS
> timestamptz AS '
> select max(dtstamp) from items where channel = $1 and link = $2;
> ' LANGUAGE 'sql' STABLE;

Made no difference.



--
Dror Matalon
Zapatec Inc
1700 MLK Way
Berkeley, CA 94709
http://www.zapatec.com

pgsql-performance by date:

Previous
From: Neil Conway
Date:
Subject: Re: reindex/vacuum locking/performance?
Next
From: Christopher Browne
Date:
Subject: Re: count(*) slow on large tables