Re: like performance w/o wildcards.
От | Joseph Shraibman |
---|---|
Тема | Re: like performance w/o wildcards. |
Дата | |
Msg-id | 3F2EDD67.9000409@selectacast.net обсуждение исходный текст |
Ответ на | like performance w/o wildcards. (Joseph Shraibman <jks@selectacast.net>) |
Ответы |
Re: like performance w/o wildcards.
|
Список | 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 по дате отправления: