From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | bitmap-index-scan slower than normal index scan |
Date: | 2007-07-11 18:36:38 |
Message-ID: | 20070711183638.GA30872@KanotixBox |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
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...
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknow)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2007-07-11 18:45:06 | Re: best use of an EMC SAN |
Previous Message | Greg Smith | 2007-07-11 18:35:50 | Re: best use of an EMC SAN |