Re: How planner decides left-anchored LIKE can use index - Mailing list pgsql-performance

From Tom Lane
Subject Re: How planner decides left-anchored LIKE can use index
Date
Msg-id 6716.1189124896@sss.pgh.pa.us
Whole thread Raw
In response to How planner decides left-anchored LIKE can use index  ("Carlo Stonebanks" <stonec.register@sympatico.ca>)
List pgsql-performance
"Carlo Stonebanks" <stonec.register@sympatico.ca> writes:
> There is an index on lower(last_name). I have seen the planner convert the
> LIKE to lower(last_name) >= 'smith' and lower(last_name) < 'smiti' on 8.2.4
> systems, but a slow sequence scan and filter on 8.1.9 - is this related to
> the version difference (8.1.9 vs 8.2.4) or is this related to something like
> operators/classes that have been installed?

Most likely you used C locale for the 8.2.4 installation and some other
locale for the other one.

In non-C locale you can still get the optimization if you create an
index using the text_pattern_ops opclass ... but beware that this index
is useless for the normal locale-aware operators.

            regards, tom lane

pgsql-performance by date:

Previous
From: "Carlo Stonebanks"
Date:
Subject: How planner decides left-anchored LIKE can use index
Next
From: "Carlo Stonebanks"
Date:
Subject: Re: Performance on 8CPU's and 32GB of RAM