Re: "between" is using index but "like" is not

From: Jesper Krogh <jesper(at)krogh(dot)cc>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: "between" is using index but "like" is not
Date: 2004-08-26 07:27:00
Message-ID: cgk3c4$b8c$1@sea.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

I gmane.comp.db.postgresql.novice, skrev Tom Lane:
> Jesper Krogh <jesper(at)krogh(dot)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(at)krogh(dot)cc
Jabber ID: jesper(at)jabbernet(dot)dk

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Frank Kurzawa 2004-08-26 15:53:07 relation column in pg_locks
Previous Message Kunal 2004-08-26 03:50:21 Re: MySQL vs PostgreSQL