Dočasné tabulky jsou ve většině charakteristik jako běžné tabulky, až na to, že jdou do TempDB místo do aktuální databáze a po omezeném rozsahu zmizí (v závislosti na tom, zda se jedná o tabulky založené na relaci nebo globální dočasné tabulky. Ale všechny změny dat v tabulkách Temp jsou přihlášeni do transakčního protokolu se všemi dopady na výkon, které z toho vyplývají. otoh, také můžete do dočasné tabulky přidat tolik indexů nebo pohledů nebo spouštěčů nebo čehokoli jiného, co chcete, přesně jako do běžné tabulky.
Proměnné tabulky jsou jakousi zkrácenou tabulkou v paměti (také používají temp DB). Změny v nich nejsou protokolovány (to zlepšuje výkon). Ale můžete na ně získat pouze jeden index (protože indexy nelze vytvořit po příkazu počáteční deklarace, jediný index, který můžete vytvořit na proměnné tabulky, je ten, který lze zahrnout do počáteční deklarace proměnné tabulky...
Declare @Tab Table (myKey integer Primary Key Not Null, data varchar(20))
Kvůli těmto vlastnostem jsou dočasné tabulky lepší volbou pro velké tabulky (široké a s mnoha řádky) a/nebo které projdou během své životnosti více než jedním přístupovým vzorem, zatímco proměnné tabulky jsou nejlepší, když potřebujete velmi úzkou tabulku ( tabulka pouze klíčů nebo klíč pouze s jedním sloupcem dat), ke kterému bude vždy přistupovat tento indexovaný klíč...