Hi All, Hope someone can help me a little bit here: I've got a query like the following: -- select Column1, Column2, Column3 from Table1 where exists (select 1 from Table2 where Table2.ForeignKey = Table1.PrimaryKey) or exists (select 1 from Table3 where Table3.ForeignKey = Table1.PrimaryKey) -- Looking at the query plan it is doing a sequential scan on both Table2 and Table3. If I remove one of the subqueries and turn the query into: -- select Column1, Column2, Column3 from Table1 where exists (select 1 from Table2 where Table2.ForeignKey = Table1.PrimaryKey) -- It is nicely doing an index scan on the index that is on Table2.ForeignKey. As Table2 and Table3 are rather large the first query takes minutes while the second query takes 18ms. Is there a way to speed this up or an alternative way of selecting records from Table1 which have related records in Table2 or Table3 which is faster? Kindest Regards, Bastiaan Olij -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance