Re: SQL optimization - WHERE SomeField STARTING WITH ...

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: SQL optimization - WHERE SomeField STARTING WITH ...
Дата
Msg-id 48BBF145.1060107@gmx.net
обсуждение исходный текст
Ответ на SQL optimization - WHERE SomeField STARTING WITH ...  (Bill <pg@dbginc.com>)
Список pgsql-general
Bill wrote:
> The SQL database servers I have worked with cannot use and index for a
> SELECT of the form
>
> SELECT * FROM ATABLE
> WHERE AFIELD LIKE ?
>
> because there is no way to know the location of the wild card until the
> parameter value is known. InterBase and Firebird allow
>
> SELECT * FROM ATABLE
> WHERE AFIELD STARTING WITH ?
>
> which is equivalent to LIKE  'ABC%' and will use an index on AFIELD. Is
> there a similar syntax in PostgreSQL?

One workaround might be to rewrite the query using some string function
(substring, position, or write your own) and index over that function.


В списке pgsql-general по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: indexes on functions and create or replace function
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: determining existence of database and language