Namai Duomenų bazės Ką defragmentacija daro „SQL“ sistemoms?

Ką defragmentacija daro „SQL“ sistemoms?

Anonim

Q:

Ką defragmentacija daro SQL sistemoms?

A:

Nuolatinė duomenų bazių priežiūra ir stebėjimas yra pagrindiniai elementai, į kuriuos reikia atsižvelgti norint sklandžiai valdyti SQL sistemą. Kai sukuriama ir apgyvendinama duomenų bazė, iš pradžių duomenys dedami į gretimą fizinę vietą (jei yra pakankamai gretimų fizinių vietų). Taigi šiuo atveju loginis duomenų išdėstymas ir fizinis užsakymas greičiausiai bus panašus, o tai padidina našumą.

Kai duomenys yra modifikuojami, naikinami ar atnaujinami, atitinkami rodyklės taip pat atnaujinami automatiškai, kad atspindėtų tuos pakeitimus. Dėl to indeksai suskaidomi, o informacija išsibarstoma po visą saugojimo vietą. Tai keičia fizinį duomenų išdėstymą (nes prarandami gretimi paskirstymai), o jų gavimas užima daug laiko, todėl lėtai veikia duomenų bazė.

Šios problemos sprendimas yra periodiškai atlikti defragmentaciją. Defragmentacija iš tikrųjų atstato arba pertvarko indeksus, kad loginis duomenų išdėstymas atitiktų fizinį užsakymą. Prieš atlikdami bet kurį defragmentavimo veiksmą, reikia tinkamai išanalizuoti visus indeksus. Analizės rezultatai nustato, ar reikia pertvarkymo, ar pertvarkymo.

Dvi pagrindinės operacijos, kurias atlieka defragmentavimo procesas, yra:

  • Indeksų pertvarkymas - Indeksų pertvarkymas atliekamas, kai susiskaidymas yra žemas, o jo veikimas nepadaromas stiprus. Šis procesas iš tikrųjų fiziškai pertvarko lapų lygio puslapius, kad atitiktų loginę tvarką. Tai nesukuria naujų puslapių; tik pertvarko esamus puslapius. Reorganizavimą galima atlikti, kai sistema prisijungę, neužkertant kelio įprastoms duomenų bazės operacijoms.
  • Rodyklės atkūrimas - Rodyklės atstatymo procesas atliekamas, kai suskaidymas yra gilesnis ir našumas per lėtas. Vykdant šį procesą, pradinis rodyklė sumažėja ir sukuriamas naujas indeksas. Taigi fizinis ir loginis išdėstymas grąžinamas į pradines pozicijas, o spektaklis pagerėja. Atnaujindami taip pat galite sukurti naujus puslapius, jei to reikia, ir tai galima atlikti neprisijungus arba prisijungus.

Todėl defragmentacija turėtų būti „SQL Server“ priežiūros proceso dalis ir į ją reikia žiūrėti rimtai. Turi būti sudarytas tinkamas užklausų analizės planas ir jo laikomasi. Remiantis užklausų analizės rezultatais, reikia atlikti indeksų pertvarkymą ar pertvarkymą. Trumpai tariant, defragmentacija yra būtina norint pagerinti SQL sistemų našumą.

Ką defragmentacija daro „SQL“ sistemoms?