Schlechte Leistung der Tabellenvariablen beim Einfügen in eine gespeicherte SQL Server-Prozedur
Bei der Verwendung einer Tabellenvariablen in einer gespeicherten Prozedur treten Leistungsprobleme auf.
Folgendes passiert tatsächlich:
DECLARE @tblTemp TABLE(iId_company INT)
INSERT INTO @tblTemp(iId_company)
SELECT id FROM .....
Das SELECT gibt 138 Ergebnisse zurück, aber das Einfügen in die TABLE-Variable dauert 1 Minute 15, aber wenn ich eine temporäre Tabelle mit demselben SELECT verwende, dauert Woops 0 Sekunden:
CREATE TABLE #temp (iId_company INT)
INSERT INTO #temp(iId_company)
SELECT id FROM ...
Was könnte das Verhalten verursachen?