Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: SQL optimieren

  Alt 24. Mai 2013, 08:19
Hast Du auch einen kombinierten Index (Feld1, Feld2) in beiden Tabellen? Das sollte dann optimal sein, denke ich.
In Tabelle1 wird zumindest in dieser Abfrage überhaupt kein Index benötigt, es werden sowieso alle Datensätze berücksichtigt.

Nach meiner Erfahrung ist der kombinierte Index in Tabelle2 (Feld1, Feld2) die einzige sinnvolle Lösung.
Der Index, der nur Feld1 berücksichtigt, kann dann aber entfallen.

Wahrscheinlich müssen die Felder auch in der Join-Bedingung der Abfrage in der selben Reihenfolge wie im Index auftauchen.
Code:
  Select         Tabelle1.Feld1
  from           Tabelle1
  Left Outer Join Tabelle2 on Tabelle1.Feld1 = Tabelle2.Feld1
                          and Tabelle1.Feld2 = Tabelle2.Feld2
  where Tabelle2.Feld2 is null
Im Plan darf dann nur noch dieser kombinierte Index auftauchen.
  Mit Zitat antworten Zitat