Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Schlechte Leistung der Tabellenvariable beim Einfügen in eine gespeicherte SQL Server-Prozedur

Verwenden Sie eine temporäre Tabelle. Sie werden eine viel bessere Leistung sehen.

Eine detaillierte Erklärung der Gründe dafür würde den Rahmen der Ausgangsfrage sprengen, aber zusammenfassend:

  • Eine Tabellenvariable wird von SQL Server für eine Zeile optimiert, d. h. sie geht davon aus, dass 1 Zeile zurückgegeben wird.
  • Eine Tabellenvariable erstellt keine Statistiken.

Google temp-Tabelle Vs. Tabellenvariable für eine Fülle von Ressourcen und Diskussionen. Wenn Sie dann spezifische Hilfe benötigen, senden Sie mir eine E-Mail oder kontaktieren Sie mich auf Twitter.