Just a guess but have you tried using an in clause? select something from table where fase in ('1' , '2'); On Tuesday 04 October 2005 13:32, han.holl@xxxxxxxxxxxxxxxxxxxx wrote: > 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 > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly