Q:
Co defragmentace dělá pro systémy SQL?
A:Stálá údržba databáze a monitorování jsou klíčové prvky, které je třeba brát v úvahu pro hladký chod systému SQL. Když je databáze vytvořena a naplněna, zpočátku jsou data umístěna na souvislém fyzickém místě (pokud je k dispozici dostatek souvislého fyzického prostoru). V tomto případě je tedy logické uspořádání a fyzické uspořádání dat pravděpodobně podobné a zvyšuje výkon.
Když jsou data upravena, odstraněna nebo aktualizována, jsou příslušné indexy také automaticky aktualizovány, aby odrážely tyto změny. V důsledku toho se indexy fragmentují a informace se rozptýlí po úložném prostoru. Mění fyzické řazení dat (protože ztrácí souvislé přidělení) a načítání se stává časově náročné, což má za následek pomalý výkon databáze.
Řešením tohoto problému je pravidelné provádění defragmentace. Defragmentace skutečně znovu vytvoří nebo reorganizuje indexy tak, aby odpovídaly logickému uspořádání dat s fyzickým uspořádáním. Před provedením jakékoli defragmentace by měly být všechny indexy správně analyzovány. Výsledky analýzy určují, zda je nutná reorganizace nebo přestavba.
Dvě hlavní operace prováděné procesem defragmentace jsou:
- Reorganizace indexů - Reorganizace indexů se provádí, když je fragmentace na nízké úrovni a výkon není vážně ovlivněn. Tento proces ve skutečnosti provádí fyzické řazení stránek na úrovni listů, aby odpovídalo logickému uspořádání. Nevytváří žádné nové stránky; přeskupuje pouze stávající stránky. Reorganizaci lze provést v době, kdy je systém online, aniž by blokoval normální operace s databází.
- Opětovné sestavení indexu - Opětovné sestavení indexu se provádí, když je fragmentace na hlubší úrovni a výkon je příliš pomalý. V tomto procesu se původní index zruší a vytvoří se nový nový index. Fyzické a logické uspořádání je tedy nastaveno zpět do původních pozic a výkon zlepšuje mnohonásobné. Přestavba může také podle potřeby vytvářet nové stránky a lze ji provádět v režimu offline nebo online.
Defragmentace by proto měla být součástí procesu údržby serveru SQL a je třeba ji brát vážně. Musí být vytvořen a dodržován řádný plán analýzy dotazů. Na základě výstupu z analýzy dotazů musí být provedeno nové sestavení nebo reorganizace indexů. Zkrátka, defragmentace je nezbytná pro zlepšení výkonu systémů SQL.