[Oracle10g] Alternative zu "not in...select from"

m3000

Erfahrenes Mitglied
Hallo,

ich möchte Einträge aus tab1 listen, von denen ein Merkmal nicht in tab2 enthalten ist. Die folgende Anweisung mit "...not in..." ist aber auch nach 90min noch nicht fertig.

Code:
select foo1, foo2
from tab1
where foo1 not in
 (
 select bar1                                                                                         
 from tab2
 )
Volumen: tab1=261'185 records, tab2=2'246'968 records

Gibt es eine performante Alternative?

Dank und Gruss
Marcus
 
Versuch es mal mit NOT EXISTS, also ungefähr so:

SQL:
select foo1, foo2
from   tab1
where  not exists
(
   select 1
   from   tab2
   where  bar1 = tab1.foo1
)

Wenn du nun auf die Spalte "bar1" einen Index legst (falls noch keiner drauf ist), sollte das Statement um einiges schneller sein.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück