RE: [HACKERS] Bug on complex subselect (was: Bug on complex join) - Mailing list pgsql-hackers

From Jackson, DeJuan
Subject RE: [HACKERS] Bug on complex subselect (was: Bug on complex join)
Date
Msg-id F10BB1FAF801D111829B0060971D839F70A83E@cpsmail
Whole thread Raw
Responses RE: [HACKERS] Bug on complex subselect (was: Bug on complex join)
List pgsql-hackers
> Hello!
> 
>    Vadim already gave the idea to use EXISTS. Will try it.
>    Thanks to all who replied!
> 
> On Wed, 10 Mar 1999, Jackson, DeJuan wrote:
> > Try your query this way:
> >  SELECT DISTINCT subsec_id
> >    FROM positions p
> >   WHERE EXISTS(SELECT 1
> >                  FROM central c, shops s, districts d
> >                 WHERE p.pos_id = c.pos_id AND 
> >                       c.shop_id = s.shop_id AND
> >                       s.distr_id = d.distr_id AND
> >                       d.city_id = 2);
> 
> > Make sure you have indexes on pos_id, shop_id, distr_id, 
> and city_id.
> 
>    All these are primary keys in corresponding tables, and hence have
> UNIQUE indicies. Is it enough?
> 
> Oleg.
You should have indexes on both the primary and the referenced table.
(i.e. positions.pos_id and central.pos_id)  It gives PostgreSQL more
options on which join methods to use while still having an index to
reference.
-DEJ


pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Compiling PostgreSQL on SINIX
Next
From: Vince Vielhaber
Date:
Subject: Re: [HACKERS] Developers globe