Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Index wird nicht imme rbenutzt

  Alt 5. Dez 2016, 13:51
Naja, der Witz ist ja, Du hast Recht, es ist ein vollkommen anderer Join, aber es kann einem identischen Ergebnis führen, hängt von den Daten ab.

Wie gesagt, "Left [Outer] Join" ist hier vermutlich gar nicht gewollt, sondern einfach "Join".

Da der Optimizer zwar einen Unterschied erkennt, nicht aber die "tiefere Bedeutung" des Join, verhält er sich unterschiedlich und nimmt einmal den Index dazu und einmal nicht. (Was auch nichts am Ergebnis ändert)

Es bleibt die Empfehlung, sich mit den verschiedenen Formen von Joins auseinanderzusetzen. Und die Feststellung, dass das 1. Beispiel nicht sinnvoll ist und (vermutlich in Folge) unter einer "schlechten" Optimierung leidet. Es hat eben kein Optimizerprogrammierer diesen (syntaktisch möglichen, aber sinnlosen) Fall ausreichend berücksichtigt.
Gruß, Jo
  Mit Zitat antworten Zitat