Re: Unused index influencing sequential scan plan

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thom Brown <thom(at)linux(dot)com>
Cc: pgsql-performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Unused index influencing sequential scan plan
Date: 2012-10-18 16:52:13
Message-ID: 293.1350579133@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Thom Brown <thom(at)linux(dot)com> writes:
> On 18 October 2012 17:44, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Thom Brown <thom(at)linux(dot)com> writes:
>>> And as a side note, how come it's impossible to get the planner to use
>>> an index-only scan to satisfy the query (disabling sequential and
>>> regular index scans)?

>> Implementation restriction - we don't yet have a way to match index-only
>> scans to expressions.

> Ah, I suspected it might be, but couldn't find notes on what scenarios
> it's yet to be able to work in. Thanks.

I forgot to mention that there is a klugy workaround: add the required
variable(s) as extra index columns. That is,

create index i on t (foo(x), x);

The planner isn't terribly bright about this, but it will use that index
for a query that only requires foo(x), and it won't re-evaluate foo()
(though I think it will cost the plan on the assumption it does :-().

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Peter Geoghegan 2012-10-18 17:00:43 Re: Unused index influencing sequential scan plan
Previous Message Thom Brown 2012-10-18 16:47:42 Re: Unused index influencing sequential scan plan