Or selection on index versus union

Поиск
Список
Период
Сортировка
От han.holl@informationslogik.nl
Тема Or selection on index versus union
Дата
Msg-id 200510042132.41642.han.holl@informationslogik.nl
обсуждение исходный текст
Ответы Re: Or selection on index versus union  (kevin.kempter@dataintellect.com)
Re: Or selection on index versus union  (Michael Fuhr <mike@fuhr.org>)
Список pgsql-general
Hello

I've got a table with an index, let's call it fase.

The following query is fine: 'select something from table where fase = '1';

However, this is disastrously slow:
select something from table where fase = '1' or fase = '2';

The reason is that the query planner decides to ignore the index, and goes for
a sequential scan of the table (with a couple of million records).

If I do:
select something from table where fase = '1'
union
select something from table where fase = '2';

it's fine again, but it's a lot of typing, and the first formulation has a
more natural feel to it.

Is there a way to convince the planner to use the fase index for this type of
query, or is there a hook somewhere that I missed that allows me to rewrite
a query like the above with a server-side function ?

Thanks in advance,

Han Holl

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

Предыдущее
От: "Stefan 'Kaishakunin' Schumacher"
Дата:
Сообщение: Re: License question
Следующее
От: "Magnus Hagander"
Дата:
Сообщение: Re: License question