reducing number of ANDs speeds up query - Mailing list pgsql-general

Hello,

I have a pretty standard query with two tables:

SELECT table_a.id FROM table_a a, table_b b WHERE ... AND ... AND b.value=...;

With the last "AND b.value=..." the query is extremely slow (did not wait for it to end, but more than a minute),
becausethe value column is not indexed (contains items longer than 8K). 

However the previous conditions "WHERE ... AND ... AND" should have already reduced the candidate rows to just a few
(table_bcontains over 50m rows). And indeed, removing the last "AND b.value=..." speeds the query to just a
millisecond.

Is there a way to instruct PostgreSQL to do first the initial "WHERE ... AND ... AND" and then the last "AND
b.value=..."on the (very small) result? 

Thank you and kind regards,
T.


pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Libpq and multithreading
Next
From: Rob Sargentg
Date:
Subject: Re: psql copy from through bash