I wrote: > hubert depesz lubaczewski <depesz@xxxxxxxxxx> writes: >> it is selecting 20 rows out of 30 million. why is it: >> 1. not using index only scan >> 2. not using even normal index scan? > It thinks the bitmap scan is cheaper. No, wait, I take that back --- it can't do a plain indexscan because ScalarArrayOp (=ANY(ARRAY)) isn't supported as a plain indexscan qual, only as a bitmap qual. This is because we rely on the bitmap to eliminate duplicates. It was never worth improving on that before; but now that plain indexscans have a potential performance advantage, we ought to think about ways to use ScalarArrayOp in plain indexscans. 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