4 Hlavné rozdiely medzi tabuľkami haldy a zoskupenými tabuľkami v systéme Windows SQL Server

Zdieľať teraz:

V nasledujúcom článku sú vysvetlené kľúčové rozdiely medzi tabuľkami haldy a klastrovanými tabuľkami.

Pri práci s tabuľkami v SQL Serverpoužívatelia často čelia dileme, či chcú používať zoskupené tabuľky alebo haldy tabuliek. Tabuľky, ktoré neobsahujú zoskupené indexy, sa nazývajú haldy tabuliek a tie, ktoré majú zoskupené indexy, sa nazývajú zoskupené tabuľky. Klastrovaný index v zásade mení spôsob, akým sa záznamy fyzicky ukladajú do tabuľky. Dátové stránky sú obsiahnuté v listových uzloch zoskupeného indexu.

Rozdiely medzi halbovými a zoskupenými tabuľkami

V článku sú tieto dva typy tabuliek podrobnejšie rozpracované.

Zoskupené a haldy stolov

Klastrované tabuľky poskytujú používateľom viac výhod ako haldy tabuliek, pretože pomáhajú používateľom pri používaní indexov nájsť riadky rýchlejšie ako haldy tabuliek a fyzicky ukladať údaje / záznamy opätovným zostavením klastrovaného indexu.

Vaše fyzické údaje sa môžu fragmentovať, ak existuje viac aktivít INSERT, DELETE a UPDATE oproti tabuľkám vo vašich údajoch. Je známe, že fragmentované údaje môžu pridať do strateného a nežiaduceho priestoru, pretože ak spustíte dopyt, musí prečítať niekoľko ďalších stránok, pretože teraz sú ich časti čiastočne plné. Poďme nájsť spôsoby, ako vyriešiť problém fragmentácie údajov.

Rozdiel medzi hromadou a zoskupeným stolom

Problém s fragmentáciou je možné vyriešiť určením potreby mať v tabuľke zoskupený index alebo nie. Nakoniec je to klastrovaný alebo hromadný index, ktorý reguluje fyzické úložisko vašej tabuľky. Akákoľvek tabuľka vo vašej databáze môže mať iba jeden typ indexu. Aby sme si mohli zvoliť, musíme pochopiť základné rozdiely medzi týmito dvoma, ktoré sú nasledujúce.

  1. V halde nie je poradie v ukladaní údajov, ale v klastri má ukladanie dát poradie v závislosti od klastrovaného indexového kľúča. 
  2. Dátové stránky nie sú prepojené v halde, zatiaľ čo v klastrovanej tabuľke sú prepojené a existuje rýchlejší sekvenčný prístup.
  3. Halda má 0 hodnotu index_id a zoskupené majú 1 hodnotu index_id pre zobrazenie katalógu sys.indexes
  4. Klastrovaný index načítava údaje rýchlejšie ako halda tabuľky, pretože existuje kľúč klastrovaného indexu

Fragmentácia

Na základe rozdielov medzi klastrovanými a haldovými tabuľkami je možné vyriešiť problém fragmentácie. K fragmentácii dochádza z dôvodu použitia aktivít INSERT, DELETE a UPDATE. Ak však máte Heap Table a existuje iba aktivita INSERT, fragmentácia sa nevyskytne. Ak používate sekvenčný kľúč indexu (hodnota identity) a máte iba INSERTS, potom sa váš zoskupený index fragmentuje. Ale ak použijete veľa INSERTS alebo DELETES, tabuľky sa fragmentujú.

Preto sa odporúča používať zoskupený index, pretože je závislý od indexového kľúča a zaberá menej miesta. Nové záznamy je možné zapisovať na už existujúce stránky na dostupnom voľnom mieste.

Ak chcete zistiť použitie haldy alebo zoskupenej tabuľky, môžete tiež skúsiť spustiť program DBCC SHOWCONTIG alebo nový DMV, pretože oba tieto príkazy vám poskytnú prehľad o problémoch s fragmentáciou v tabuľkách. V klastrovanej tabuľke možno fragmentáciu vyriešiť reorganizáciou alebo opätovným zostavením klastrovaného indexu.    

Investovanie do a SQL Server oprava nástroj je nevyhnutnosťou pre spoločnosti, ktoré používajú ČŠ SQL Server na svojich produkčných serveroch. V skutočnosti sa môže ukázať ako životabudič v prípade zlyhania databázy.

Úvod autora:

Victor Simon je odborníkom na obnovu dát v odbore DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane oprava mdb a softvérové ​​produkty na obnovenie sql. Pre viac informácií navštívte https://www.datanumen.com/

Zdieľať teraz:

Komentáre sú uzavreté.