sql >> Databáze >  >> RDS >> Sqlserver

Jaký je rozdíl mezi TEMPORARY TABLE a TABLE VARIABLE v SQL 2008?

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íč...



  1. SQL:Seřaďte podle sloupce, poté podle podřetězce smíchejte vzestupně a sestupně

  2. Magento:Nemohu se přihlásit do admin

  3. 30 tabulek s několika řádky – ZKRÁTIT nejrychlejší způsob, jak je vyprázdnit a resetovat připojené sekvence?

  4. Jak získat zaměstnance s jejich manažery