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

Please help (Someone?) - subselect not using indexes

From: Marcus Mascari <mascarim(at)yahoo(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Please help (Someone?) - subselect not using indexes
Date: 1998-10-28 01:30:44
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
I was hoping someone could shed some light on the 
following problem:

The subselect under 6.4 ignores indexes built on 
tables.  For example, consider the following two

\d sales;

Table    = sales

supplysource   varchar() not null  16
supply         varchar() not null  16
supplyunit     varchar() not null  2
quantity       float8    not null  8
target         varchar() not null  16
costcntr       varchar() not null  8
saletype       varchar() not null  16
saledate       datetime  not null  8

Indices:  k_sales

\d locations;

Table    = locations
location       varchar() not null   16
costcntr       varchar() not null   5
supplypath     varchar() not null   64
formpath       varchar() not null   64
engineerpath   varchar() not null   64

Indices:  k_locations

with the following query:

explain select supply from sales where target in
(select location from locations);

Seq Scan on sales  (cost=5738.60 size=116806 width=12)
    ->  Seq Scan on locations  (cost=7.49 size=136 width=12)


This results in a full table scan on the outer table
where there are 150K rows.  As a result, it is the
equivalent of a full table scan on 150K (sales) * 
100 (locations) rows = 15,000,000 row table scan.

Oracle for Linux Early Adaptor Program 
correctly uses the index on the same two tables
resulting on a sequential access on the subselected
table (locations) and an index look-up on the 
select table (sales), according to EXPLAIN PLAN.

Due to the failure of PostgreSQL 6.4 to correctly
use indexes with subselects, it makes subselects
practically unusable.

(NOTE: This occurs regardless of whether or not it
is executed immediately following a VACUUM)

Are there any patches available to fix this problem?
Will this fixed in the 6.4 release?

Thanks for any information,

Marcus Mascari

Get your free address at

pgsql-hackers by date

Next:From: The Hermit HackerDate: 1998-10-28 01:57:22
Subject: Re: [HACKERS] Configure problem, redux (was Re: TCL installation troubles)
Previous:From: Brook MilliganDate: 1998-10-28 00:11:44
Subject: Re: [HACKERS] Configure problem, redux (was Re: TCL installation troubles)

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group