Mein google-fu und so-fu versagt mich hier, also könnte ich auch fragen.TSQL - Was ist die richtige Reihenfolge für das Verbinden von Tabellen?
Ich habe viele Abfragen mit mehreren Joins in ihnen.
Innerhalb einer Abfrage, bin ich header/item/details zusammen, sowie Nachschlagen verschiedener Informationen für diese Datensätze.
Wenn ich mich verbinde, versuche ich, die Dinge in der Reihenfolge ihrer Beziehung zu halten. Zum Beispiel: Meine Kopfzeile hat zwei Nachschlagetabellen, also werde ich mich mit denen verbinden, bevor ich mich meiner Gegenstandstabelle anschließe.
Ist das korrekt?
Ist es besser, zu größeren Tabellen vor Lookup-Tabellen zu verbinden? Oder umgekehrt?
Sollte ich einen loop
Hinweis bei der Verbindung zu kleinen Tabellen verwenden, und einen merge
Hinweis bei der Verbindung zu Openrowsets?
Ich bin sicher, die Antwort ist "es kommt darauf an", aber einige allgemeine Richtlinien zum effektiven und effizienten Beitritt wären sehr hilfreich. Vielen Dank!
In den meisten Fällen sollten Sie den Join-Typ (merge/loop/hash) nicht angeben müssen. Wenn Sie es tun, gibt es wahrscheinlich zugrunde liegende Probleme, die anstelle der Join Hinweis Band-Hilfe gelöst werden sollten. –
Wenn Sie nicht genau wissen, was Sie tun, und Sie die Abfrageausführungspläne verstehen, verwenden Sie NIE Abfragehinweise. – JotaBe