Robert James <srobertjames@xxxxxxxxx> writes: > Hi. I notice that when I do a WHERE x, Postgres uses an index, and when I > do WHERE y, it does so as well, but when I do WHERE x OR y, it > doesn't. It can use indexes for OR conditions, but not for arbitrary OR conditions... > select * from dict > where > word in (select substr('moon', 0, generate_series(3,length('moon')))) -- > this is my X above > OR word like 'moon%' -- this is my Y above ... and that one is pretty arbitrary. You might have some luck with using a UNION instead, viz select * from dict where X union all select * from dict where Y regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general