Re: How to influence the planner

From: Richard Ray <rray(at)mstc(dot)state(dot)ms(dot)us>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: How to influence the planner
Date: 2007-09-04 15:56:04
Message-ID: Pine.LNX.4.64.0709041054590.12018@rray.drdc.mstc.ms.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Thanks guys
Lesson learned

On Tue, 4 Sep 2007, Scott Marlowe wrote:

> On 8/31/07, Richard Ray <rray(at)mstc(dot)state(dot)ms(dot)us> wrote:
>
>> Changing to enable_seqscan = on does solve this problem, thanks
>> Is there some method of crafting a query that will assert my wishes to the planner
>> When is enable_seqscan = off appropriate
>
> enable_xxx = off are troubleshooting tools. They override the query planner.
>
> For instance, I had a query that was running slow, and using set
> enable_nestloop=off allowed the query to run fast. However, using
> explain analyze I could see that the estimated number of rows was off.
> Analyze didn't fix it, so I increased the stats target for the column
> I was working with, reanalyzed, and voila, the query ran fine with
> nestloop=on.
>
> So, enable_xxx=off is normally only appropriate when troubleshooting
> an issue, not as a fix all. That's doubly true for
> enable_seqscan=off.
>
> If you do have a query that nothing else seems to work on it, you can
> set one of the enable_xxx settings off for that connection only and
> not worry about messing up all the other sessions connecting to your
> db.
>

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message novice 2007-09-05 03:45:46 work hour calculations
Previous Message Tom Lane 2007-09-04 15:55:05 Re: Use of delete...returning in function problem