From: Josh Berkus <josh@agliodbs.com>
To: Bryan Murphy <bmurphy1976@gmail.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Help Me Understand Why I'm Getting a Bad Query Plan
Date: Tue, 24 Mar 2009 19:30:10 -0700
Message-ID: <49C99732.8080703@agliodbs.com> (raw)
In-Reply-To: <7fd310d10903241521t645462bdpb3b8aee40b4f3ae4@mail.gmail.com>
References: <7fd310d10903231203r1bd37b8cn8baeadae83253f44@mail.gmail.com>
<7fd310d10903241521t645462bdpb3b8aee40b4f3ae4@mail.gmail.com>
Brian,
> I hate to nag, but could anybody help me with this? We have a few
> related queries that are causing noticeable service delays in our
> production system. I've tried a number of different things, but I'm
> running out of ideas and don't know what to do next.
For some reason, your first post didn't make it to the list, which is
why nobody responded.
>> I've got a query on our production system that isn't choosing a good
>> plan. I can't see why it's choosing to do a sequential scan on the
>> ItemExperienceLog table. That table is about 800mb and has about 2.5
>> million records. This example query only returns 4 records. I've
>> tried upping the statics for ItemExperienceLog.VistorId and
>> ItemExperienceLog.ItemId to 1000 (from out default of 100) with no
>> success.
Yes, that is kind of inexplicable. For some reason, it's assigning a
very high cost to the nestloops, which is why it wants to avoid them
with a seq scan. Can you try lowering cpu_index_cost to 0.001 and see
how that affects the plan?
--Josh
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: josh@agliodbs.com, bmurphy1976@gmail.com
Subject: Re: Help Me Understand Why I'm Getting a Bad Query Plan
In-Reply-To: <49C99732.8080703@agliodbs.com>
* 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