Hallo!
Zitat von
Dumpfbacke:
um eine Ergebnis über mehrere Tabellen zu bekommen benutze ich immer Left Outer Join.
Also, wenn Du wirklich immer mit dem LEFT OUTER JOIN arbeitest, solltest Du Dir dringend die Bedeutung von JOINS angucken
Zitat von
Dumpfbacke:
Es sind natütlich Indexe auf den entsprechenden Feldern vorhanden.
Es sind nur Indexe in der RIGHT-Table sinnvoll, die LEFT-Table wird ja sowieso kompßlett durchlaufen
Zitat von
Dumpfbacke:
Wenn ich jedoch zwei Bedingungen angebe, so dauert es immer sehr lange.
Das ist ganz klar, für jede der Bedingungen wird die Mastertabelle komplett durchlaufen und versucht, eine Verbindung zur gejointen Tabelle herzustellen
Zitat von
Dumpfbacke:
Kann man hier etwas verbessen ?
Bei verwendung des LEFT OUTER JOIN: Nein.
Du solltest überprüfen, ob dieser Join die richtige Wahl ist.
Verrate uns hier doch einmal, was Du erreichen willst, wir helfen Dir gerne weiter.
Merke: Der LEFT OUTER JOIN ist der Performance-Killer schlechthin.
Gruß Thomas
PS: Möchtest Du z.B. alle Datensätze aus TabelleA haben, die eine Entsprechung in TabelleB in FELD2 oder FELD3 haben, so wäre der INNER JOIN das Mittel der Wahl.