Re: UNION versus SUB SELECT - Mailing list pgsql-performance

From Merlin Moncure
Subject Re: UNION versus SUB SELECT
Date
Msg-id CAHyXU0xGAO3rOoMQPmd4Otw98JHWOnZvrWbmQLVgWyzqiJGE1Q@mail.gmail.com
Whole thread Raw
In response to Re: UNION versus SUB SELECT  (desmodemone <desmodemone@gmail.com>)
Responses Re: UNION versus SUB SELECT
List pgsql-performance
On Thu, Nov 21, 2013 at 2:31 PM, desmodemone <desmodemone@gmail.com> wrote:
> Hi Robert, could you try with "exists" ?
>
> SELECT c.*
> FROM contacts c
> WHERE  exists  ( SELECT  1 FROM phone p WHERE p.addr =? and
> p.contact_id=c.id )
> OR exists (SELECT  1 FROM email e WHERE e.addr = ? and  e.contact_id=c.id );

hm, how about:
SELECT c.*
FROM contacts c
WHERE  exists  (
  SELECT  1
  FROM phone p
  WHERE p.addr =? AND p.contact_id=c.id
  UNION ALL
  SELECT  1 FROM email e
  WHERE e.addr = ? AND e.contact_id=c.id
);

merlin


pgsql-performance by date:

Previous
From: Rogerio Pereira
Date:
Subject: Re: Query in cache
Next
From: Robert DiFalco
Date:
Subject: Re: UNION versus SUB SELECT