sql - titel - title tag wordpress




Wie wirken sich Tabellenaliasnamen auf die Leistung aus? (2)

Der Alias ​​beeinflusst die Leistung in keiner Weise, weder praktisch noch meßbar (kursiv beim Editieren). Das heißt, es würde eine kaum messbare Verzögerung für die Abfragekompilierung hinzufügen. Einmal kompiliert (und wiederverwendet), hat es keine Wirkung.

Ein Alias ​​entfernt Mehrdeutigkeiten, wenn Sie mehr als eine Tabelle haben, weil Sie wissen, aus welcher Tabelle er stammt. Es verhindert auch, dass zukünftige Tabellenänderungen eine Abfrage unterbrechen. Angenommen, Sie fügen einer Tabelle eine Überwachungsspalte hinzu, die bereits in einer anderen Tabelle vorhanden ist. Abfragen ohne Aliase, die beide Tabellen verwenden, werden unterbrochen.

In einigen Fällen ist auch ein Alias ​​erforderlich, z. B. schemabegrenzte Ansichten.

Die SQL-Parsing-Engine (die alle Abfragen liest, bevor sie ausgeführt wird, und die Informationen zum späteren Zwischenspeichern der kompilierten Abfragen für eine schnellere Ausführung verwendet) ist das einzige, das die Aliase betrachtet und dazu beiträgt, Mehrdeutigkeiten in Symbolsuchen zu entfernen. Das System würde bereits Symbole erzeugen, genau wie jede andere kompilierbare Anweisung in einer anderen Sprache, wenn es vor dem Ausführen-Speichern geparst wird.

Während ich über das Tuning von SQL-Abfragen lese, habe ich irgendwo gelesen, dass 'Aliasnamen immer verwenden und allen Spaltennamen die Aliase vorangestellt werden, wenn Sie mehr als eine Tabelle verwenden.'

Wie wirken sich Tabellenaliasnamen auf die Leistung aus? Oder beeinflussen sie tatsächlich?


Fast gar nicht, der Leistungseinfluss ist vernachlässigbar, aber Sie werden eine viel bessere Zeit haben, die Abfrage zu lesen. Es ist nur für Ihre Bequemlichkeit.

Der Leistungseinfluss ist die Zuweisung von ein paar KB Speicher zum Speichern von Alias-Namen usw. im SQL Server-Programm selbst. Im Vergleich zu den anderen Operationen, die zur Ausführung Ihrer Abfrage benötigt werden, ist dies fast nichts.





performance