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

SQL Server Temp-Tabelle vs. Tabellenvariable

Tabellenvariablen können zu weniger Neukompilierungen gespeicherter Prozeduren führen als temporäre Tabellen (siehe KB #243586 und KB #305977 ), und – da sie nicht zurückgesetzt werden können – kümmern Sie sich nicht um das Transaktionsprotokoll.

##table gehört zur globalen temporären Tabelle. ja #Tabelle existiert nicht, da sie nur im angegebenen Gültigkeitsbereich liegt und Sie niemals über den angegebenen Gültigkeitsbereich darauf zugreifen.

Bearbeiten

Ich möchte auch darauf hinweisen, CTE (Common Table Expressions) zu verwenden, da es auch irgendwie als temporäre Tabelle funktioniert. Überprüfen Sie diese Antwort für Details:Welche sind leistungsfähiger, CTE oder temporäre Tabellen?