Q:
Какво прави дефрагментацията за SQL системи?
A:Непрекъснатата поддръжка и мониторинг на базата данни са ключовите елементи, които трябва да се вземат под внимание за гладкото функциониране на SQL система. Когато базата данни се създаде и попълни, първоначално данните се поставят на съседно физическо място (ако има достатъчно съседно физическо пространство). Така че в този случай логическото подреждане и физическото подреждане на данните вероятно са сходни и това увеличава производителността.
Когато данните са променени, изтрити или актуализирани, съответните индекси също се актуализират автоматично, за да отразят тези промени. В резултат на това индексите се раздробяват и информацията се разпръсква по пространството за съхранение. Той променя физическото подреждане на данни (тъй като той губи непрекъснато разпределение) и извличането става отнема много време, което води до бавна работа на базата данни.
Решението на този проблем е да се извършва дефрагментация периодично. Дефрагментацията всъщност възстановява или реорганизира индексите, за да съответства на логическото подреждане на данните с физическото подреждане. Преди да извършите операция по дефрагментиране, всички индекси трябва да бъдат анализирани правилно. Резултатите от анализа определят дали е необходима реорганизация или възстановяване.
Двете основни операции, извършени от процеса на дефрагментация са:
- Реорганизация на индекси - реорганизацията на индекси се извършва, когато фрагментацията е на ниско ниво и производителността не е силно засегната. Този процес всъщност прави физическото пренареждане на страниците на ниво листа, за да съответства на логическото подреждане. Не създава нови страници; той само пренарежда съществуващите страници. Реорганизацията може да се извърши, докато системата е онлайн, без да блокира нормалните операции с база данни.
- Инсталиране на индекс - Процесът на възстановяване на индекс се извършва, когато фрагментацията е на по-дълбоко ниво и производителността е твърде бавна. В този процес първоначалният индекс отпада и се изгражда нов нов индекс. Така физическото и логическото подреждане се връщат към първоначалните позиции и производителността подобрява многообразието. Възстановяването може също така да създаде нови страници, както се изисква, и може да се извърши в офлайн или онлайн режим.
Следователно, дефрагментацията трябва да бъде част от процеса на поддръжка на SQL Server и трябва да бъде взета сериозно. Трябва да се изгради и спазва подходящ план за анализ на заявките. Въз основа на резултата от анализа на заявките трябва да се извърши възстановяване или реорганизация на индекси. Накратко, дефрагментацията е от съществено значение за подобряване на производителността на SQL системите.