Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id 8A0109FB255 for ; Tue, 3 Oct 2006 17:54:28 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 33254-07 for ; Tue, 3 Oct 2006 17:54:13 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from mail.refractions.net (mail.refractions.net [24.68.236.214]) by postgresql.org (Postfix) with ESMTP id 47AA89FB20B for ; Tue, 3 Oct 2006 17:54:13 -0300 (ADT) Received: from lion.animals (lion [192.168.50.200]) by mail.refractions.net (Postfix) with ESMTP id 7B377122C51F; Tue, 3 Oct 2006 14:02:23 -0700 (PDT) Received: by lion.animals (Postfix, from userid 88) id D9882E3CF; Tue, 3 Oct 2006 13:54:11 -0700 (PDT) Received: from refractions.net (unknown [192.168.50.43]) by lion.animals (Postfix) with ESMTP id 0D248E3BD; Tue, 3 Oct 2006 13:54:08 -0700 (PDT) Message-ID: <4522CD8C.1000108@refractions.net> Date: Tue, 03 Oct 2006 13:52:28 -0700 From: Graham Davis Reply-To: gdavis@refractions.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Tom Lane Cc: Chris Browne , pgsql-performance@postgresql.org Subject: Re: BUG #2658: Query not using index References: <200609272056.k8RKuWjY040283@wwwmaster.postgresql.org> <20061003000147.GA31475@wolff.to> <4522AA01.4020709@refractions.net> <60irj1gr3r.fsf@dba2.int.libertyrms.com> <4522B5B9.2050206@refractions.net> <60d599gqcz.fsf@dba2.int.libertyrms.com> <4522C8D8.4010601@refractions.net> <10941.1159908489@sss.pgh.pa.us> In-Reply-To: <10941.1159908489@sss.pgh.pa.us> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.075 tagged_above=0 required=5 tests=AWL X-Spam-Level: X-Archive-Number: 200610/58 X-Sequence-Number: 21187 Thanks Tom, that explains it and makes sense. I guess I will have to accept this query taking 40 seconds, unless I can figure out another way to write it so it can use indexes. If there are any more syntax suggestions, please pass them on. Thanks for the help everyone. Graham. Tom Lane wrote: >Graham Davis writes: > > >>How come an aggreate like that has to use a sequential scan? I know >>that PostgreSQL use to have to do a sequential scan for all aggregates, >>but there was support added to version 8 so that aggregates would take >>advantage of indexes. >> >> > >Not in a GROUP BY context, only for the simple case. Per the comment in >planagg.c: > > * We don't handle GROUP BY, because our current implementations of > * grouping require looking at all the rows anyway, and so there's not > * much point in optimizing MIN/MAX. > >The problem is that using an index to obtain the maximum value of ts for >a given value of assetid is not the same thing as finding out what all >the distinct values of assetid are. > >This could possibly be improved but it would take a considerable amount >more work. It's definitely not in the category of "bug fix". > > regards, tom lane > > -- Graham Davis Refractions Research Inc. gdavis@refractions.net