pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruno Wolff III <bruno@wolff.to>
To: Ken Geis <kgeis@speakeasy.org>
Cc: pgsql-performance@postgresql.org
Subject: Re: bad estimates / non-scanning aggregates
Date: Thu, 28 Aug 2003 22:01:56 -0500
Message-ID: <20030829030156.GF4373@wolff.to> (raw)
In-Reply-To: <3F4EBF7E.8020602@speakeasy.org>
References: <3F4E99F7.7080604@speakeasy.org>
	<20030829025109.GD4373@wolff.to>
	<3F4EBF7E.8020602@speakeasy.org>

On Thu, Aug 28, 2003 at 19:50:38 -0700,
  Ken Geis <kgeis@speakeasy.org> wrote:
> Bruno Wolff III wrote:
> >On Thu, Aug 28, 2003 at 17:10:31 -0700,
> >  Ken Geis <kgeis@speakeasy.org> wrote:
> >
> >>The query I want to run is
> >>
> >>select stock_id, min(price_date) from day_ends group by stock_id;
> >
> >The fast way to do this is:
> >
> >select distinct on (stock_id) stock_id, price_date
> >  order by stock_id, price_date;
> 
> Not according to the optimizer!  Plus, this is not guaranteed to return 
> the correct results.

For it to be fast you need an index on (stock_id, price_date) so that
you can use an index scan.

The answers are guarenteed to be correct. See:
http://developer.postgresql.org/docs/postgres/sql-select.html#SQL-DISTINCT



view thread (6+ messages)  latest in thread

Message-ID: <20030829030156.GF4373@wolff.to>
Permalink:  ../20030829030156.GF4373@wolff.to/
Also on:    postgresql.org/message-id/20030829030156.GF4373@wolff.to

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: bruno@wolff.to, kgeis@speakeasy.org
  Subject: Re: bad estimates / non-scanning aggregates
  In-Reply-To: <20030829030156.GF4373@wolff.to>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox