On 7/11/07, Andreas Kretschmer <[EMAIL PROTECTED]> wrote:
Hi,

Okay, i know, not really a recent version:
PostgreSQL 8.1.4 on i386-pc-linux-gnu, compiled by GCC cc (GCC) 3.3.5 (Debian 
1:3.3.5-13)

I have a fresh ANALYZED table with some indexes.

scholl=*# set enable_bitmapscan=1;
SET
scholl=*# explain analyse select sum(flaeche) from bde_meldungen where 
maschine=1200 and ab = 347735;
                                                                    QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=1371.95..1371.96 rows=1 width=8) (actual 
time=163.788..163.790 rows=1 loops=1)
   ->  Bitmap Heap Scan on bde_meldungen  (cost=1217.69..1371.85 rows=39 
width=8) (actual time=163.702..163.758 rows=2 loops=1)
         Recheck Cond: ((ab = 347735) AND (maschine = 1200))
         ->  BitmapAnd  (cost=1217.69..1217.69 rows=39 width=0) (actual 
time=163.681..163.681 rows=0 loops=1)
               ->  Bitmap Index Scan on idx_ab  (cost=0.00..5.95 rows=558 
width=0) (actual time=0.078..0.078 rows=109 loops=1)
                     Index Cond: (ab = 347735)
               ->  Bitmap Index Scan on idx_maschine  (cost=0.00..1211.49 
rows=148997 width=0) (actual time=163.459..163.459 rows=164760 loops=1)
                     Index Cond: (maschine = 1200)
 Total runtime: 163.901 ms
(9 rows)


Okay, 163.901 ms with Bitmap Index Scan.

And now i disable this and runs the same select:

scholl=*# set enable_bitmapscan=0;
SET
scholl=*# explain analyse select sum(flaeche) from bde_meldungen where 
maschine=1200 and ab = 347735;
                                                           QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=2142.77..2142.78 rows=1 width=8) (actual time=0.229..0.231 
rows=1 loops=1)
   ->  Index Scan using idx_ab on bde_meldungen  (cost=0.00..2142.67 rows=39 
width=8) (actual time=0.046..0.209 rows=2 loops=1)
         Index Cond: (ab = 347735)
         Filter: (maschine = 1200)
 Total runtime: 0.326 ms
(5 rows)

Okay, i got a really different plan, but i expected _NOT_ a
performance-boost like this. I expected the opposite.


It's not a really problem, i just played with this. But i'm confused
about this...


your results are getting cached.  try two queries in a row with the same plan.

Alex

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to