pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher@gmail.com>
To: Andreas Kretschmer <akretschmer@spamfence.net>
Cc: pgsql-performance@postgresql.org
Subject: Re: bitmap-index-scan slower than normal index scan
Date: Wed, 11 Jul 2007 14:52:01 -0400
Message-ID: <a728f9f90707111152w5e6d7316md4df25c33965c5d4@mail.gmail.com> (raw)
In-Reply-To: <20070711183638.GA30872@KanotixBox>
References: <20070711183638.GA30872@KanotixBox>

On 7/11/07, Andreas Kretschmer <akretschmer@spamfence.net> 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



view thread (8+ messages)  latest in thread

Message-ID: <a728f9f90707111152w5e6d7316md4df25c33965c5d4@mail.gmail.com>
Permalink:  ../a728f9f90707111152w5e6d7316md4df25c33965c5d4@mail.gmail.com/
Also on:    postgresql.org/message-id/a728f9f90707111152w5e6d7316md4df25c33965c5d4@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: alexdeucher@gmail.com, akretschmer@spamfence.net
  Subject: Re: bitmap-index-scan slower than normal index scan
  In-Reply-To: <a728f9f90707111152w5e6d7316md4df25c33965c5d4@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox