Ich habe eine Tabellenvariable und füge einige Werte mit der Anweisung "Into Into - Select" ein. Die Auswahl ist eine Kombination aus wenigen Joins und wenn sie separat ausgeführt wird, dauert es 3 Sekunden. Das Problem ist, dass der gesamte Code 3-4 Minuten benötigt, um ausgeführt zu werden. Ich frage mich, gibt es einen bestimmten Grund dafür.
Dies ist die Deklaration meiner Tabellenvariable:
%Vor%Ich habe eine andere Tabellenvariable, die ich mit einigen Daten initialisiere, und dies ist ihre Struktur:
%Vor%und der folgende Code ist meine Problemstellung (einfügen in - select):
%Vor%Wie ich schon sagte, wenn ich die Einfügezeile kommentiere, dauert die Abfrage 3 Sekunden, sonst - eine sehr lange Zeit.
EDIT: Hier ist mein Ausführungsplan - die meisten Kosten sind Tabellenscan, aber warum dauert es so viel Zeit, wenn Einfügung gemacht wird, und geschieht schnell ohne es?
Das Folgende ist meine neue Inline-Funktion:
%Vor%Ich laufe wieder langsam. Irgendwelche Ideen, wie man es optimiert?
Abfragen, die in Tabellenvariablen eingefügt werden, können keinen parallelen Plan haben.
Verwenden Sie stattdessen eine Tabelle #temp
, damit SELECT
parallelisiert werden kann.