INF: Najčastejšie otázky - SQL Server 2000 - tabuľka premenné

ID článku: 305977 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

SUHRN

Tento článok obsahuje niektoré z často kladené otázky (FAQ) súvisiace s tabuľky premenných, ktoré sú zavedené v SQL Server 2000.

Čítať SQL Server Books Online opis tabuľky premenné, navštívte nasledovnú webovú lokalitu spoločnosti Microsoft:
http://msdn2.Microsoft.com/en-us/library/aa260638 (SQL.80) .aspx

DALSIE INFORMACIE

Q1: Prečo tabuľky premenné zaviedli keď dočasným tabuľkám už boli k dispozícii?

A1: Tabuľka premenné majú nasledovné výhody nad dočasné tabuľky:
  • Ako je uvedené v zdroji SQL Server Books Online "Stoly" článok, tabuľka premenných, ako lokálne premenné, mať dobre definovaného rozsahu na konci ktorého sú automaticky zruší.
  • Tabuľka premenné za následok menej recompilations z uložené postup v porovnaní s dočasným tabuľkám.
  • Transakcií, ktoré zahŕňajú tabuľka premenné naposledy iba pre trvanie aktualizáciu na tabuľku premennej. Preto tabuľky premenné vyžadujú, menej blokovanie a logging zdrojov. Pretože tabuľka premenné majú obmedzený rozsah a nie sú súčasťou databázy perzistentné, transakcia závažnom nespĺňajú ich nejako dotýka.
Q2: Čo to znamená vyslovením, že tabuľka premenných v dôsledku menej recompilations uloženej procedúry ako dočasné tabuľky, keď sa používajú?

A2: Tento článok popisuje niektoré dôvody skladovaná postupy sú prekompilovali:

243586 Riešenie problémov s uloženej procedúry recompilation
Recompilations"kvôli určitých dočasná tabuľka Operácie"oddiel tiež uvádza niektoré požiadavky, aby sa predišlo, ako recompilation vzhľadom na dočasné tabuľky. Tieto obmedzenia sa nevzťahujú na Tabuľka premenné.

Tabuľka premenné sú úplne izolovaná do dávky to vytvára takže nie ste rozlíšenie "sa musí uskutočniť pri vytvoriť alebo ALTER vyhlásenie uskutočňuje, ktoré sa môžu vyskytnúť s dočasná tabuľka. K dočasným tabuľkám je potrebné toto ste uznesenie "tak tabuľky môžu odkazovať z vnorených uložené postup. Tabuľka premenné vyhnúť to úplne tak môžete použiť uložené procedúry plán, ktorý je už zostavené, teda šetrenie zdrojov spracovať uložené postup.

Q3: Aké sú niektoré z nevýhod tabuľky premenné?

A3: To sú niektoré z nevýhod v porovnaní s dočasným tabuľkám:
  • Non-klastrované indexy sa nedá vytvoriť na tabuľku premenné, iné ako systém indexy, ktoré sú vytvorené pre primárne alebo JEDINEČNÝ obmedzenie. Ktoré ovplyvňujú dotaz výkon v porovnaní s dočasná tabuľka s-klastrované indexy.
  • Tabuľka premenných nie udržiavať štatistiky páči dočasné tabuľky môžete. Štatistiky sa nedá vytvoriť na tabuľku premenné automatické vytvorenie alebo pomocou vytvoriť štatistiky vyhlásenie. Preto pre komplexné dotazy na veľkých tabuliek, nedostatok štatistiky môže odradiť pre optimalizáciu na určiť najlepšie plán pre dotaz, čím ovplyvňujú výkon dotaz.
  • Definíciu tabuľky nie je možné zmeniť po prvom VYHLÁSIŤ vyhlásenie.
  • Tabuľky premenné nemožno použiť v vložiť EXEC alebo vyberte DO výkazu.
  • Skontrolujte obmedzenia, predvolené hodnoty a vypočítané stĺpce v typ vyhlásenie tabuľky nemôžete volať používateľom definované funkcie.
  • Nemôžete použiť EXEC vyhlásenie alebo sp_executesql uložená procedúra spustiť dynamický server SQL Server dotaz, ktorý odkazuje Tabuľka premennej, ak ukazovateľ tabuľka bola vytvorená mimo EXEC vyhlásenie alebo The sp_executesql uložená procedúra. Pretože tabuľka premenné môžu odkazovať v ich miestny rozsah len výpis EXEC a sp_executesql uložená procedúra by mimo rozsahu pôsobnosti tabuľky Premenná. Môžete však vytvoriť tabuľku premennú a vykonávajú všetky spracovanie vnútri EXEC vyhlásenie alebo sp_executesql uložená procedúra, pretože potom tabuľky premenné lokálny rozsah je vo výkaze EXEC alebo sp_executesql uložená procedúra.
O4: Aké tabuľky premenné iba na pamäti štruktúry, ktoré sú zaistené lepší výkon v porovnaní s dočasné alebo trvalé tabuľky, pretože sú udržiavané v databáze, ktorá sa nachádza na fyzickom disku?

A4: Tabuľka premennej nie je len na pamäťovú štruktúru. Pretože tabuľka premenná môže držať viac údajov, než sa zmestí do pamäte, má mať miesto disku na ukladanie údajov. Tabuľka premenné sú vytvorené v tempdb databázu podobnú dočasným tabuľkám. Ak pamäte je k dispozícii, obe tabuľky premenných a dočasným tabuľkám sú vytvárané a spracovávané kým v pamäť (cache údajov).

O5: Mám použiť tabuľku premenné namiesto dočasným tabuľkám?

A5: Odpoveď závisí na tieto tri faktory:
  • Počet riadkov, ktoré sa vkladajú na Tabuľka.
  • Počet recompilations dotaz sa uloží z.
  • Typ dotazy a ich závislosti na indexov a Štatistika pre výkon.
V niektorých situáciách prelomenie uloženej procedúry s dočasné tabuliek do menších uložené procedúry tak že recompilation prebieha na menšie jednotky je užitočná.

Vo všeobecnosti sa používa tabuľka premenné kedykoľvek je to možné, okrem prípadov, kedy existuje významný objem údajov a tam je opakované použitie tabuľky. V takom prípade môžete vytvoriť indexy na dočasná tabuľka zvýšenie dotazu výkonu. Však môže byť každý scenár rôzne. Spoločnosť Microsoft odporúča, aby ste test Ak tabuľka premenné sú viac užitočné ako dočasné tabuľkách dotazu najmä alebo uložené postup.

Nevidel odpoveď na vašu otázku? Návšteva Microsoft SQL Server diskusných skupín na: Microsoft SQL Server diskusných skupín

Komentáre o to alebo iné Microsoft SQL Server Knowledge Base články? Drop nám poznámku na SQLKB@Microsoft.com

Vlastnosti

ID článku: 305977 - Posledná kontrola: 31. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft SQL Server 2000 Standard Edition
Kľúčové slová: 
kbinfo kbmt KB305977 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:305977

Odošlite odozvu