Prehľad fragmentácie indexu
Čo je fragmentácia indexu a prečo by som sa na ňu mal zamerať: Fragmentácia nastáva, keď logické poradie v indexe (založené na hodnote kľúča v indexe) nezodpovedá fyzickému poradiu na indexových stránkach v indexových stránkach v indexe na stránkach, ktoré index obsahuje. Kedykoľvek sa vykoná operácia vloženia, aktualizácie alebo vymazania na základných dátach, databázový engine automaticky upraví index. Napríklad pridanie riadkov do tabuľky môže spôsobiť, že rozdelené riadky ukladajú existujúce stránky do indexu, aby sa uvoľnilo miesto na vloženie nových kľúčov. Postupom času môžu tieto úpravy spôsobiť, že informácie v indexe budú rozptýlené v databáze (obsahujúce fragmenty). Fragmentácia nastáva, keď logické poradie (založené na kľúčovej hodnote) na stránkach, ktoré index obsahuje, nezodpovedá fyzickému poradiu v dátovom súbore. Veľké množstvo fragmentovaných indexov môže spomaliť výkon dotazov, pretože na nájdenie dát, na ktoré index ukazuje, je potrebný dodatočný I/O. Viac I/O môže spôsobiť, že aplikácia reaguje pomaly, najmä pri skenovacích operáciách.
Skontrolujte fragmentáciu indexu databázy
Príkaz:
Existujú dva spôsoby defragmentácie: reorganizovať a znovu vytvoriť indexy, rekonštrukcia indexov znamená vymazanie starých indexov a opätovné vybudovanie nových indexov v transakcii, čím sa obnoví miesto na pevnom disku pôvodného indexu a pridelí sa nový úložný priestor na vytvorenie štruktúry indexu. Reorganizácia indexov znamená neprideľovanie nového úložného priestoru, reorganizovanie listových uzlov indexovej štruktúry na základe pôvodného priestoru, aby logický a fyzický poradie dátových stránok bolo konzistentné, a uvoľnenie prebytočného miesta v indexe.
Použite funkciu sys.dm_db_index_physical_stats na detekciu stupňa fragmentácie, poľa avg_fragmentation_in_percent percenta vrátených logických fragmentov, všeobecne Microsoft odporúča prah 30 %:
avg_fragmentation_in_percent >5 % a <=30 %: ZMENIŤ INDEX REORGANIZOVAŤ; avg_fragmentation_in_percent >30%: PRESTAVBA INDEXU ALTER;
avg_fragmentation_in_percent: Indexové percento fragmentácie, ak je fragmentácia menšia ako 10 %~20 %, fragmentácia pravdepodobne nebude problémom,Ak je fragmentácia indexu na úrovni 20 %~40 %, fragmentácia môže byť problémom, ale rozlíšenie indexov možno eliminovať reorganizáciou indexov a veľkorozmerná fragmentácia (keď je fragmentácia väčšia ako 40 %) môže vyžadovať rekonštrukciu indexu.
Vyžiadajte informácie o fragmentácii pre všetky indexy danej tabuľky
Reindexovanie v tabuľke
Prebudujte index všetkých tabuliek v celej databáze
Zdroje:Prihlásenie na hypertextový odkaz je viditeľné.
|