Re: LIKE and Locale

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: pgsql(at)mohawksoft(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: LIKE and Locale
Date: 2004-03-31 21:29:44
Message-ID: 20040331132235.U80037@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On Wed, 31 Mar 2004 pgsql(at)mohawksoft(dot)com wrote:

> I'm a little frustrated
>
> select * from mytable where mystring = 'foo';
>
> Uses an index
>
> select * from mytable where mystring like 'foo';
>
> Does not use an index.
>
> I know Tom is not to excited about this, but I think it is a serious
> problem. What really brings me to this is that I just installed 7.4.2. It

I agree with Tom mostly. It'd be nice for cases to be better optimized in
general, but optimizing basically degenerate cases seems futile especially
when there's a generally better workaround (see below)

> is my first real deployment of PostgreSQL in about a year and a half.
> Unknown to me, the default for my latest DB was not type 'C' but
> "en_US.iso885915" and thus no amount of work would have allowed a 'LIKE'
> to use an index without surrounding the index and query with some

What about making an index with the <whatever>_pattern_ops opclass which
IIRC is supposed to allow index use on LIKE even for anchored searches
in non-C locales.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message pgsql 2004-03-31 21:54:18 Re: LIKE and Locale
Previous Message Dann Corbit 2004-03-31 21:22:06 The incompaitiblity of libpq and non-GCC compilers