On Mon, 30 Aug 2004, Martin Sarsale wrote: > "Multicolumn indexes can only be used if the clauses involving the > indexed columns are joined with AND. For instance, > > SELECT name FROM test2 WHERE major = constant OR minor = constant;
You can use DeMorgan's Theorem to transform an OR clause to an AND clause. In general: A OR B <=> NOT ((NOT A) AND (NOT B)) So: > But I need something like: > > select * from t where c<>0 or d<>0; select * from t where not (c=0 and d=0); I haven't actually tried to see if postgresql would do anything interesting after such a transformation. ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match