Usa una tabella temporanea. Vedrai prestazioni molto migliori.
Una spiegazione dettagliata per il ragionamento alla base di ciò va oltre lo scopo della domanda iniziale, tuttavia per riassumere:
- Una variabile di tabella è ottimizzata per una riga, da SQL Server, ovvero presuppone che venga restituita 1 riga.
- Una variabile di tabella non crea statistiche.
Google tabella temporanea vs. variabile tabella per una ricchezza di risorse e discussioni. Se poi hai bisogno di assistenza specifica, mandami un'e-mail o contattami su Twitter.