Die Syntax Deines Statements ist etwas merkwürdig. Woher sollen den die Werte kommen?
Select mit Insert into sollte ungefähr so aussehen:
Code:
INSERT INTO <tempTABLE>
(UsedCol1, UsedCol2)
SELECT NeededCol1, NeededCol2
FROM liveTABLE
[WHERE condition]
Du hast keine Where Bedingung, die die Daten aus der Quelltabelle einschränken würde. Also macht ein Index überhaupt keinen Sinn (auf der Quelltabelle). Bei einem Masseninsert (sowas ist es ja) ist jeglicher Index auf der Zieltabelle eine Bremse, auch der Primärschlüssel bzw dessen Index. (die man meist in Kauf nimmt).
Also ist das Insert-Statement wirklich richtig hier her kopiert oder hast Du das anonymisiert?
P.S.: hab nicht richtig aufgepasst, eine Temp Table wird natürlich on the fly erzeugt und die Syntax kann vereinfacht werden. Ein "From" sollte im Select trotzdem drin stehen.
P.S.2: Ich geh mal davon aus, Du meinst die Performanceprobleme beim Erstellen der Temp Table.