BUG #2342: Extremely bad performance on a specific query, compared to 7.4 - Mailing list pgsql-bugs

From Mattias Kregert
Subject BUG #2342: Extremely bad performance on a specific query, compared to 7.4
Date
Msg-id 200603201507.k2KF7dbo061926@wwwmaster.postgresql.org
Whole thread Raw
Responses Re: BUG #2342: Extremely bad performance on a specific query, compared to 7.4
List pgsql-bugs
The following bug has been logged online:

Bug reference:      2342
Logged by:          Mattias Kregert
Email address:      mattias@kregert.se
PostgreSQL version: 8.1
Operating system:   Linux
Description:        Extremely bad performance on a specific query, compared
to 7.4
Details:

Query:
------
SELECT id FROM pics WHERE
(file='3a76h3gd873kmn7ckd76' AND archived IS NULL) OR
(file='jj38kmc983lmn2547cx0' AND archived IS NULL) OR
...
[something like 500 lines]

Table info:
-----------
The pics table has 200K rows.
Index#1 on id.
Index#2 on file.
Analyze done.

Problem:
--------
With pg7.4, on an antique pII-233mhz, this query takes approximately 0.5
seconds.

With pg8.1, on a Cel-2.67ghz, the same query takes around 70 seconds @ 99%
cpu usage.

I would expect it to take less than .05 seconds, since the cpu is 10 times
faster, the disks are faster, more memory and so on... So what makes pg8.1
1400 times slower than pg7.4?

According to 'explain' it is doing a Bitmap Index Scan for every line in the
query. Is there a way to turn off this new dynamic bitmap feature, or tune
it in some way?

/M

pgsql-bugs by date:

Previous
From: "Slavcho Ivanov"
Date:
Subject: BUG #2341: Wrong results when using index
Next
From: Neil Conway
Date:
Subject: Re: how to put back?