Re: "between" is using index but "like" is not - Mailing list pgsql-novice

From Jesper Krogh
Subject Re: "between" is using index but "like" is not
Date
Msg-id cgk3c4$b8c$1@sea.gmane.org
Whole thread Raw
In response to "between" is using index but "like" is not  (Jesper Krogh <jesper@krogh.cc>)
List pgsql-novice
I gmane.comp.db.postgresql.novice, skrev Tom Lane:
>  Jesper Krogh <jesper@krogh.cc> writes:
> > Why doesn't it use an index on the "like" operator when it doesn't
> > contain a wildcard in the beginning of the pattern?
>
>  Probably because your locale isn't C --- locale-specific sort ordering
>  usually isn't compatible with the needs of LIKE, so we can only make
>  that optimization in C locale.
>
>  You can either re-initdb in C locale, or (if you're using 7.4) create a
>  specialized index with non-locale-dependent comparison operators.  See
>  the manual concerning specialized index operator classes.

Locale was set to:
lc_messages = 'en_US.iso885915'         # locale for system error
message string
s
lc_monetary = 'en_US.iso885915'         # locale for monetary formatting
lc_numeric = 'en_US.iso885915'          # locale for number formatting
lc_time = 'en_US.iso885915'                     # locale for time
formatting

I'll try re-initdb to locale C in the weekend.. this requires dump and
restore right?


Jesper


--
./Jesper Krogh, jesper@krogh.cc
Jabber ID: jesper@jabbernet.dk


pgsql-novice by date:

Previous
From: Kunal
Date:
Subject: Re: MySQL vs PostgreSQL
Next
From: Frank Kurzawa
Date:
Subject: relation column in pg_locks