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@xxxxxxxxxxx> 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? -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general