Временните таблици са като обикновените таблици в повечето характеристики, с изключение на това, че влизат в TempDB вместо в текущата база данни и изчезват след ограничен обхват (в зависимост от това дали са базирани на сесия или глобални временни таблици. Но всички промени в данните във временните таблици са регистрирани в регистрационния файл на транзакциите, с всички последици за производителността, които това включва. ото, можете също да добавите колкото се може повече индекси или изгледи, или тригери, или каквото друго искате към временна таблица, точно както бихте направили към обикновена таблица.
Променливите на таблицата са вид бърза таблица в паметта (те също използват временна DB). Промените в тях не се регистрират (това подобрява производителността). Но можете да получите само един индекс върху тях (тъй като индексите не могат да бъдат създадени след първоначалната декларация, единственият индекс, който можете да създадете върху променлива на таблица, е този, който може да бъде включен в първоначалната декларация на променлива на таблица...
Declare @Tab Table (myKey integer Primary Key Not Null, data varchar(20))
Поради тези характеристики временните таблици са по-добър избор за големи маси (широки и с много редове) и/или които ще претърпят повече от един модел на достъп през целия си живот, докато променливите на таблицата са най-добри, когато имате нужда от много тясна таблица ( таблица само с ключове или ключ само с една колона с данни), който винаги ще бъде достъпен от този индексиран ключ...