pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ken Geis <kgeis@speakeasy.org>
To: Bruno Wolff III <bruno@wolff.to>
Cc: pgsql-performance@postgresql.org
Subject: Re: bad estimates
Date: Thu, 28 Aug 2003 21:09:00 -0700
Message-ID: <3F4ED1DC.50808@speakeasy.org> (raw)
In-Reply-To: <20030829040519.GA5746@wolff.to>
References: <3F4E99F7.7080604@speakeasy.org>
	<20030829025109.GD4373@wolff.to>
	<3F4EBF7E.8020602@speakeasy.org>
	<20030829030156.GF4373@wolff.to>
	<3F4EC1D0.5010503@speakeasy.org>
	<20030829033818.GA5577@wolff.to>
	<3F4ECC78.7090502@speakeasy.org>
	<20030829040519.GA5746@wolff.to>

Bruno Wolff III wrote:
> On Thu, Aug 28, 2003 at 20:46:00 -0700,
>   Ken Geis <kgeis@speakeasy.org> wrote:
>>It is not the table or the query that is wrong.  It is either the db 
>>parameters or the optimizer itself.
...
> 
> It is still odd that you didn't get a big speed up for just the min though.
> You example did have the stock id and the date as the primary key which
> would make sense since the stock id and stock price on a day wouldn't
> be guarenteed to be unique. Are you absolutely sure you have a combined
> key on the stock id and the stock price?

I am positive!  I can send a log if you want, but I won't post it to the 
list.

The arity on the data is roughly 1500 price_dates per stock_id.

I was able to get the query to return in a reasonable amount of time 
(still ~3 minutes) by forcing a nested loop path using SQL functions 
instead of min and max.

I'm going to run comparisons on 7.3.3 and 7.4-beta2.  I'll also look 
into the optimizer source to try to figure out why it thinks scanning 
this index is so expensive.


Ken





view thread (25+ messages)  latest in thread

Message-ID: <3F4ED1DC.50808@speakeasy.org>
Permalink:  ../3F4ED1DC.50808@speakeasy.org/
Also on:    postgresql.org/message-id/3F4ED1DC.50808@speakeasy.org

 · 

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: kgeis@speakeasy.org, bruno@wolff.to
  Subject: Re: bad estimates
  In-Reply-To: <3F4ED1DC.50808@speakeasy.org>

* 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