pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ilia Kantor <ilia@obnovlenie.ru>
To: pgsql-performance@postgresql.org
Subject: Bitmap scan when it is not needed
Date: Mon, 29 Aug 2005 00:48:40 +0400
Message-ID: <auto-000558491990@umail.ru> (raw)

explain analyze select * from objects_hier where tg && array[0] and id
<10000;

 

Bitmap Heap Scan on objects_hier  (cost=4.79..8.80 rows=1 width=337) (actual
time=0.110..0.110 rows=0 loops=1)

   Recheck Cond: ((tg && '{0}'::integer[]) AND (id < 10000))

   ->  BitmapAnd  (cost=4.79..4.79 rows=1 width=0) (actual time=0.106..0.106
rows=0 loops=1)

         ->  Bitmap Index Scan on gistbla2  (cost=0.00..2.10 rows=30
width=0) (actual time=0.042..0.042 rows=0 loops=1)

               Index Cond: (tg && '{0}'::integer[])

         ->  Bitmap Index Scan on ohid  (cost=0.00..2.44 rows=1240 width=0)
(actual time=0.058..0.058 rows=1255 loops=1)

               Index Cond: (id < 10000)

 

I see, Bitmap is going to AND my indexes.. It read one with less number of
rows estimated the first (right)..

It found 0 records at gistbla2 index.

 

Then why is it reading ohid ?  

 

Maybe a quickfix is possible for cases when 0 records is found to stop
reading other AND elements..

 

view thread (2+ messages)  latest in thread

Message-ID: <auto-000558491990@umail.ru>
Permalink:  ../auto-000558491990@umail.ru/
Also on:    postgresql.org/message-id/auto-000558491990@umail.ru

 · 

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: ilia@obnovlenie.ru
  Subject: Re: Bitmap scan when it is not needed
  In-Reply-To: <auto-000558491990@umail.ru>

* 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