Re: get_actual_variable_range vs idx_scan/idx_tup_fetch

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Marko Tiikkaja <marko(at)joh(dot)to>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: get_actual_variable_range vs idx_scan/idx_tup_fetch
Date: 2014-10-18 03:03:04
Message-ID: 30577.1413601384@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Fri, Oct 17, 2014 at 06:15:37PM -0400, Tom Lane wrote:
>> Those stats were perfectly valid: what the planner is looking for is
>> accurate minimum and maximum values for the index's leading column, and
>> that's what it got. You're correct that a narrower index could have given
>> the same results with a smaller disk footprint, but the planner got the
>> results it needed from the index you provided for it to work with.

> Uh, why is the optimizer looking at the index on a,b,c and not just the
> stats on column a, for example? I am missing something here.

Because it needs up-to-date min/max values in order to avoid being
seriously misled about selectivities of values near the endpoints.
See commit 40608e7f949fb7e4025c0ddd5be01939adc79eec.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-10-18 03:16:08 Re: get_actual_variable_range vs idx_scan/idx_tup_fetch
Previous Message Bruce Momjian 2014-10-18 02:30:01 Re: get_actual_variable_range vs idx_scan/idx_tup_fetch