Re: The most efficient way to put this? - Mailing list pgsql-general

From Marc Polatschek
Subject Re: The most efficient way to put this?
Date
Msg-id 2266D0630E43BB4290742247C89105758DCAD1@dozer.computec.de
Whole thread Raw
In response to The most efficient way to put this?  ("Arsalan Zaidi" <azaidi@directi.com>)
List pgsql-general
hm, you can try to make a statement with UNION and GROUP by. i dont know
if it is faster...

-----Ursprüngliche Nachricht-----
Von: Arsalan Zaidi [mailto:azaidi@directi.com]
Gesendet: Dienstag, 5. März 2002 11:12
An: pgsql-general@postgresql.org
Betreff: [GENERAL] The most efficient way to put this?


The query I'd like to run is fairly simple. Unfortunately, PG doesn't
handle
IN's very well.

SELECT DISTINCT ON (aa.a) aa.a, aa.b, aa.c FROM aa WHERE aa.a NOT IN
(select
zz.a from zz);

This is with two very large tables. Both zz and aa have many millions of
rows.

The best I've come up with so far is...

 SELECT DISTINCT ON (aa.a) aa.a, aa.b, aa.c FROM aa WHERE NOT EXISTS
(SELECT
zz.a FROM zz WHERE aa.a = zz.a);

Does anyone have anything better?

--Arsalan

-------------------------------------------------------------------
People often hate those things which they do not know, or cannot
understand.
--Ali Ibn Abi Talib (A.S.)


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

pgsql-general by date:

Previous
From: "Arsalan Zaidi"
Date:
Subject: The most efficient way to put this?
Next
From: "Bjoern Metzdorf"
Date:
Subject: FATAL 2: open of pg_clog error