From this snipped you can see that the Bitmap Heap scan returns 123 rows, but the BitmapAnd under it returns 0. I would find it useful to determine how many rows were thrown out by the recheck.

-> Bitmap Heap Scan on d (cost=4959.18..16848.23 rows=754 width=10) (actual time=344.126..1534.198 rows=123 loops=1) Recheck Cond: ((s = $0) AND (sdate >= '2007-06-30'::date) AND (sdate <= '2007-07-30'::date))
                           Filter: (snipped filter conditions here)
-> BitmapAnd (cost=4959.18..4959.18 rows=3218 width=0) (actual time=337.002..337.002 rows=0 loops=1) -> Bitmap Index Scan on d_idx1 (cost=0.00..1035.58 rows=54796 width=0) (actual time=96.478..96.478 rows=30338 loops=1)
                                       Index Cond: (s = $0)
-> Bitmap Index Scan on d_idx2 (cost=0.00..3922.98 rows=183437 width=0) (actual time=235.680..235.680 rows=181322 loops=1) Index Cond: ((sdate >= '2007-06-30'::date) AND (sdate <= '2007-07-30'::date))

This was on:
PostgreSQL 8.2.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to