Re: like performance w/o wildcards. - Mailing list pgsql-general

From Joseph Shraibman
Subject Re: like performance w/o wildcards.
Date
Msg-id 3F2EDD67.9000409@selectacast.net
Whole thread Raw
In response to like performance w/o wildcards.  (Joseph Shraibman <jks@selectacast.net>)
Responses Re: like performance w/o wildcards.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Bruce Momjian wrote:
> Joseph Shraibman wrote:
>
>>Bruce Momjian wrote:
>>
>>>Joseph Shraibman wrote:
>>>
>>>
>>>>Bruce Momjian wrote:
>>>>
>>>>
>>>>
>>>>>Oh, that's interesting.  I think a LIKE will already use an index,
>>>>>except for non-C locales.  Is that the issue?
>>>>>
>>>>
>>>>Yes, I'm using latin1.  Why does an index only work on C?
>>>
>>>
>>>Because we can't determine what caracters are before/after a given
>>>character to do a restriction, e.g. col LIKE 'F*' add col >= 'F' AND col
>>>< 'G'.  In non-C, we don't know the ordering.
>>>
>>
>>Then what is the index for?
>
>
> The index is for non-LIKE comparisons, like = and >.
>
My point is what is the difference?  If the index is done char by char then LIKE ought to
be able to use the index to find 'F*', no matter what the locale is.  What can't you
figure out what is before/after a given char?  Don't you have that information?  Don't you
need it to create the index in the first place?


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: varchar, text and cidr
Next
From: Tom Lane
Date:
Subject: Re: like performance w/o wildcards.