Re: Why does query planner choose slower BitmapAnd ? - Mailing list pgsql-general

From Seamus Abshere
Subject Re: Why does query planner choose slower BitmapAnd ?
Date
Msg-id 1456164896.1017903.528502994.5CC3B499@webmail.messagingengine.com
Whole thread Raw
In response to Re: Why does query planner choose slower BitmapAnd ?  (Seamus Abshere <seamus@abshere.net>)
List pgsql-general
On Mon, Feb 22, 2016, at 02:53 PM, Seamus Abshere wrote:
> On Mon, Feb 22, 2016, at 02:49 PM, Tom Lane wrote:
> > Seamus Abshere <seamus@abshere.net> writes:
> > > Inspired, I changed cpu_index_tuple_cost to 0.1 (default: 0.005). It "fixed" my problem by preventing the
BitmapAnd.
> > > Is this dangerous?
> >
> > Use a gentle tap, man, don't swing the hammer with quite so much abandon.
> > I'd have tried doubling the setting to start with.  Raising it 20X might
> > cause other queries to change behavior undesirably.
>
> Doubling it was enough :)

             name             | setting | boot_val
------------------------------+---------+----------
 cpu_index_tuple_cost         | 0.09    | 0.005   <- 18x boot val, 9x
 cpu_tuple_cost
 cpu_operator_cost            | 0.0025  | 0.0025
 cpu_tuple_cost               | 0.01    | 0.01

In the end I'm back to the big hammer.

I found that larger cities (e.g., more results from the city index)
required a larger cpu_index_tuple_cost to prevent the BitmapAnd.

Now cpu_index_tuple_cost is set to 0.09, which is 18x its boot_val and
9x cpu_tuple_cost... which seems strange.

Logically, should I be changing cpu_operator_cost instead?


pgsql-general by date:

Previous
From: Seamus Abshere
Date:
Subject: Re: Why does query planner choose slower BitmapAnd ?
Next
From: CS DBA
Date:
Subject: decoding BLOB's