Hallo,
Zitat:
Erst die Datenmenge reduzieren und aus beiden tabellen die in Frage kommenden Daten in temporäre Tabllen kopieren.
Genau das macht der
Query-Optimizer ja schon selbst (eigentlich ...)
Aber mal zum Thema zurück:
Select Tabelle1.MasterNummer
from Tabelle1
Left Outer Join Tabelle2 on Tabelle1.Staus = Tabelle2.Status
and Tabelle1.CoNummer = Tabelle2.CoNummer
where Tabelle2.Status is null and
Tabelle1.Status <> 'N' and Tabelle1.Storno is Null
Nur der Form halber
Tabelle1.
Staus = Tabelle2.Status
Das soll
Tabelle1.Status heissen, oder ?
on Tabelle1.Staus = Tabelle2.Status
where Tabelle2.Status is null
Tabelle1.Status <> 'N'
Das
Tabelle2.Status is null macht doch keinen Sinn.
Vorher einen Wert vergleichen Tabelle1.Staus = Tabelle2.Status
und dann
is null ???
Vielleicht kommt der Optimizer dadurch durcheinander?
Ich hätte mal gern das komplette DDL der beiden Tabellen (incl. der Indizes) gesehen.
Tabelle1.Status <> 'N'
Falls die anderen Werte bekannt sind, würde auch ein in
Tabelle1.Status in ('J','1') den Index benutzen.