I have a strange situation. I have a table of detail with millones of rows and a table of items with thousands of rows When I do.. select count(*) from wiz_application_response where application_item_id in (select id from wiz_application_item where application_id=110) This query NOT use the index on column application_item_id, instead is doing a sequential scan BUT, when I add the range of min and max id of the subquery, the postgres uses the INDEX This is the second query... select count(*) from wiz_application_response where application_item_id between 908 and 1030 and application_item_id in(select id from wiz_application_item where application_id=110) 908 and 1030 are limits (lower and upper) of the subquery, the subquery returns 100 elements aprox. So, this is some bug? Thanks! Anibal -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance