Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: performance of bitmap scans in nested loop joins


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: "Sergey E. Koposov" <math(at)sai(dot)msu(dot)ru>
  • Cc: pgsql-hackers(at)postgresql(dot)org
  • Subject: Re: performance of bitmap scans in nested loop joins
  • Date: Fri, 29 Apr 2005 14:01:15 -0400
  • Message-id: <7409(dot)1114797675(at)sss(dot)pgh(dot)pa(dot)us>

"Sergey E. Koposov" <math(at)sai(dot)msu(dot)ru> writes:
> I'd like to report about suprising (for me) results of performance testing of
> bitmap  indexes in nested loop join plans. 

I'm surprised too.  There's something weird in the indexscans
themselves:

>    ->  Index Scan using ipix_idx on q3c  (cost=0.01..9686.37 rows=333335 width=48) (actual time=0.006..0.006 rows=0 loops=3000000)
>          Index Cond: ((q3c.ipix >= ("outer".ipix - 1000)) AND (q3c.ipix <= ("outer".ipix - 993)))

>                ->  Bitmap Index Scan on ipix_idx  (cost=0.00..2916.02 rows=333335 width=0) (actual time=0.011..0.011 rows=0 loops=3000000)
>                      Index Cond: ((q3c.ipix >= ("outer".ipix - 1000)) AND (q3c.ipix <= ("outer".ipix - 993)))

The latter is (or should be) doing slightly *less* work, so why is it
taking almost twice as much time?  Can you get gprof profiles of the
two cases?

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group