Re: Bad query plan when you add many OR conditions

From: Marco Colli <collimarco91(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: Bad query plan when you add many OR conditions
Date: 2020-01-10 16:03:41
Message-ID: CAFvCgN40o9v8dJ2=XXXfKHoY7DnXxKC7qHcnK2f69R-gKcBMwg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Sorry, I didn't notice the SELECT * and I said something stupid...
However my reasoning should be still valid: I mean, PG could find the few
relevant rows (there's a LIMIT 30) using ONLY the index. It has all the
information required inside the index! Then it can simply access to that
rows on disk... It cannot take ~1 minute to access a few rows on disk (max
30 rows, actual 0 rows).

On Fri, Jan 10, 2020 at 4:18 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Marco Colli <collimarco91(at)gmail(dot)com> writes:
> > As you can see it is a *index scan* and not an *index only* scan... I
> don't
> > understand why. The index includes all the fields used by the query... so
> > an index only scan should be possible.
>
> Huh? The query is "select * from ...", so it retrieves *all* columns
> of the table.
>
> regards, tom lane
>

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Janes 2020-01-10 17:12:52 Re: Bad query plan when you add many OR conditions
Previous Message Tom Lane 2020-01-10 15:18:02 Re: Bad query plan when you add many OR conditions