Re: BUG #13824: EXISTS sometimes uses seq scan instead of index - Mailing list pgsql-bugs

From Grzegorz Garlewicz
Subject Re: BUG #13824: EXISTS sometimes uses seq scan instead of index
Date
Msg-id CACDGyET7yP=4bn9BDbJJgfpqxz+48wY-FAyY5EaSzZ+K=69ZLA@mail.gmail.com
Whole thread Raw
In response to Re: BUG #13824: EXISTS sometimes uses seq scan instead of index  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #13824: EXISTS sometimes uses seq scan instead of index  (Grzegorz Garlewicz <grzegorz@thulium.pl>)
List pgsql-bugs
I did just what you said - reduced random_page cost from 4 to 2 then 1 and
then 0.5. Neither did change anything (in fact I did not believe it would
change anything but did the test anyway).
If I'm not mistaken, the issue seems to originate from the planner's
thinking it needs to look up all the rows for EXISTS clause, not just a
single one, so it thinks the cost would be much bigger.
regards,
grzegorz

On Fri, Dec 18, 2015 at 2:17 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> grzegorz@thulium.pl writes:
> > Whenever I perform select like below, planner thinks it's going to look
> up
> > many rows and falls back to seq scan. If I disable seq scan, it correctly
> > uses the index.
>
> You might need to reduce random_page_cost to reflect your environment
> better ... especially if you're most concerned about performance with
> all data already cached in memory, which is what these examples are
> probably showing.
>
>                         regards, tom lane
>

pgsql-bugs by date:

Previous
From: jamcar.guedes@gmail.com
Date:
Subject: BUG #13826: Error 10061
Next
From: Marcin Sieńko
Date:
Subject: Re: BUG #13817: Query planner strange choose while select/count small part of big table - complete