Temporäre Tabellen oder Tabellenvariablen in SQL Server
Temporäre Tabellen und Tabellenvariablen speichern Zwischenergebnisse, doch Statistiken, Kompilierung, Indizierung und Transaktionen können sehr unterschiedliche Pläne erzeugen.
Temporäre Tabellen oder Tabellenvariablen in SQL Server
Temporäre Tabellen und Tabellenvariablen speichern Zwischenergebnisse, doch Statistiken, Kompilierung, Indizierung und Transaktionen können sehr unterschiedliche Pläne erzeugen.
Was gemessen werden sollte
Messen Sie tatsächliche Zeilen, Schätzungen, Joinwahl, Spills, Rekompilierungen und wiederholten Zugriff. Deferred Compilation hilft teilweise, macht beide Strukturen aber nicht austauschbar.
Praktisches Vorgehen
Nutzen Sie temporäre Tabellen für große oder variable Mengen, erstellen Sie nur nützliche Indizes, wählen Sie Tabellenvariablen für wirklich kleine einfache Mengen und testen Sie mit Produktionsgröße.
Was vermieden werden sollte
Entscheiden Sie nicht nach Syntaxvorliebe, nehmen Sie nicht an, Tabellenvariablen blieben nur im Speicher, und ignorieren Sie beim Index nicht die Ladekosten.
Betriebliches Ergebnis
Wählen Sie die Struktur, die dem Optimierer genügend Informationen bei wirtschaftlicher Zwischenarbeit liefert.
Checkliste für die Produktion
Erfassen Sie eine Ausgangsbasis und definieren Sie die erwartete Verbesserung. Testen Sie mit repräsentativen Daten und realistischer Parallelität. Sichern Sie die ursprüngliche Einstellung oder den Plan, bereiten Sie einen Rollback vor und überwachen Sie die nächste normale Lastspitze.
Wenn Sie diese Methode auf eine konkrete SQL-Server-Umgebung anwenden möchten, nutzen Sie das Frageformular unten und nennen Sie SQL-Server-Version, Datenbankgröße, Lastprofil und bereits erfasste Nachweise.