Re: different clients, different query plans - Mailing list pgsql-performance

From Uwe Bartels
Subject Re: different clients, different query plans
Date
Msg-id AANLkTimz8Qfqsfqc6Uw+DN-0BUMFD_5Ev69sKm0ynHqO@mail.gmail.com
Whole thread Raw
In response to Re: different clients, different query plans  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
List pgsql-performance
the types are integer.
excellent!
you saved my weekend.

Uwe

Uwe Bartels
Systemarchitect - Freelancer
mailto: uwe.bartels@gmail.com
tel: +49 172 3899006
profile: https://www.xing.com/profile/Uwe_Bartels
website: http://www.uwebartels.com



On 18 February 2011 15:58, Kevin Grittner <Kevin.Grittner@wicourts.gov> wrote:
Uwe Bartels <uwe.bartels@gmail.com> wrote:

> I have a java application which generates inperformant query
> plans.

> Index Cond: ((lat >= $3) AND (lat <= $4) AND (lon >= $1) AND (lon
> <= $2))

> Filter: (((lon)::double precision >= $1) AND ((lon)::double
> precision <= $2) AND ((lat)::double precision >= $3) AND
> ((lat)::double precision <= $4))

It is the cast of the table columns to double precision which is
taking the index out of play.

What are the data types of those columns?  What does the code look
like where you're setting the values for the parameters?  If nothing
else, writing the query so that the parameters are cast to the right
type before use might solve the problem, but I would start by
looking at the object classes used in the Java app.

-Kevin

pgsql-performance by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: different clients, different query plans
Next
From: Clemens Eisserer
Date:
Subject: Slow query execution over high latency network