Re: BUG #15717: Index not used when ordering by left joined table column - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15717: Index not used when ordering by left joined table column
Date
Msg-id 11046.1553735962@sss.pgh.pa.us
Whole thread Raw
In response to BUG #15717: Index not used when ordering by left joined table column  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #15717: Index not used when ordering by left joined tablecolumn
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> The following query runs slow, as it seq scans tables, without using any
> index:
>  select
>      wp.id as id
>  from
>      web_page wp
>      left join web_url_path url on wp.id=url.page
>  order by
>      url.priority asc
>  limit 1

> I was expecting the "priority" column index would be used to retrieve first
> url then do a reverse join to get the corresponding page, and continue if no
> page is found.

It would probably do that if you used a plain join, or a right join.
But a nestloop plan cannot be driven from the inside of an outer join,
and that's the case this query presents.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Lars Vonk
Date:
Subject: Re: BUG #15715: UPDATE using "in (subquery for update limit 1)" doesnot respect the limit in subquery
Next
From: Alex
Date:
Subject: Re: BUG #15717: Index not used when ordering by left joined tablecolumn