Re: Inconsistant query plan - Mailing list pgsql-performance

From Scott Marlowe
Subject Re: Inconsistant query plan
Date
Msg-id 1138145417.25819.39.camel@state.g2switchworks.com
Whole thread Raw
In response to Inconsistant query plan  ("Daniel Gish" <dan@centrifugesolutions.com>)
List pgsql-performance
On Tue, 2006-01-24 at 17:15, Daniel Gish wrote:
> Hi,
> We are running Postgresql 8.1, and getting dramatically inconsistant results
> after running VACUUM ANALYZE.  Sometimes after analyzing the database, the
> query planner chooses a very efficient plan (15 rows, 4.744 ms), and
> sometimes a terrible one (24 rows, 3536.995 ms).  Here's the abbreviated
> query:
>
> SELECT * FROM t1 INNER JOIN (t2 INNER JOIN (t3 INNER JOIN t4 ON t3.gid =
> t4.gid) ON t3.gid = t2.gid) ON t2.eid = t1.eid WHERE ...
>
> In the efficient plan, t2 is joined to t3 & t4 before being joined to t1.
> The inefficient plan joins t1 to t2 before joining to the other tables.
>
> We've experimented with different settings, such as shared_buffers &
> max_fsm_pages, to no avail.  Anybody have a suggestion for getting the
> efficient plan to execute consistantly?  If you'd like to see the actual
> query & query plans let me know.

Have you adjusted the stats target for that column?  See \h alter table
in psql for the syntax for that.  Then run analyze again.

pgsql-performance by date:

Previous
From: "Daniel Gish"
Date:
Subject: Inconsistant query plan
Next
From: Michael Fuhr
Date:
Subject: Re: Inconsistant query plan