Re: Index oddity

From: Rod Taylor <pg(at)rbt(dot)ca>
To: ken <southerland(at)samsixedd(dot)com>
Cc: Postgresql Performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Index oddity
Date: 2004-06-09 21:29:03
Message-ID: 1086816543.2539.98.camel@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

> ... and here is the plan with statistics set to 1000 ...
>
> Seq Scan on nrgfeature f (cost=0.00..31675.57 rows=18608 width=218)
> (actual time=63.544..1002.701 rows=225 loops=1)
> Filter: ((upperrightx > 321264.236977215::double precision) AND
> (lowerleftx < 324046.799812083::double precision) AND (upperrighty >
> 123286.261898636::double precision) AND (lowerlefty <
> 124985.927450476::double precision) AND (diagonalsize > 49.999::double
> precision))

It's better like this, but still way off the mark. Even your good query
which uses the index was out by more than an order of magnitude.

Try raising the statistics levels for upperrightx, lowerleftx,
upperrighty and lowerlefty.

Failing that, you might be able to push it back down again by giving
diagonalsize an upper limit. Perhaps 500 is a value that would never
occur.

AND (diagonalsize BETWEEN 49.999::double precision AND 500)

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message ken 2004-06-09 23:11:03 Re: Index oddity
Previous Message ken 2004-06-09 21:02:09 Re: Index oddity