Dom baze podataka Što defragmentacija čini za sql sustave?

Što defragmentacija čini za sql sustave?

Anonim

P:

Što defragmentacija čini za SQL sustave?

A:

Kontinuirano održavanje i nadzor baze podataka ključni su elementi koje treba uzeti u obzir za nesmetano pokretanje SQL sustava. Kada se baza podataka stvori i popuni, u početku se podaci smještaju u neposredni fizički položaj (ako ima dovoljno neprekidnog fizičkog prostora). Dakle, u ovom slučaju logično redoslijed i fizičko uređivanje podataka vjerojatno će biti slični, a povećavaju performanse.

Kada se podaci izmijene, izbrišu ili ažuriraju, relevantni indeksi se također automatski ažuriraju kako bi se odrazile te promjene. Kao rezultat, indeksi se fragmentiraju, a informacije raspršuju po prostoru za pohranu. To mijenja fizički poredak podataka (jer se gubi neprestano raspoređivanje), a preuzimanje postaje dugotrajno, što rezultira sporom izvedbom baze podataka.

Rješenje ovog problema je provođenje defragmentacije periodično. Defragmentacija zapravo obnavlja ili reorganizira indekse da usklade logički poredak podataka s fizičkim redoslijedom. Prije izvođenja bilo koje operacije defragmentacije, sve indekse potrebno je pravilno analizirati. Rezultati analize određuju je li potrebna reorganizacija ili obnova.

Dvije glavne operacije izvedene postupkom defragmentacije su:

  • Reorganizacija indeksa - Reorganizacija indeksa vrši se kada je fragmentacija na niskoj razini i na performanse nema ozbiljnih utjecaja. U ovom se procesu fizički preuređivanje stranica na razini listova podudara s logičkim redoslijedom. Ne stvara nikakve nove stranice; ona samo redoslijedi postojeće stranice. Reorganizacija se može izvesti dok je sustav na mreži bez blokiranja uobičajenih operacija baze podataka.
  • Ponovna izgradnja indeksa - Postupak obnove indeksa provodi se kada je fragmentacija na dubljoj razini, a performanse su prespori. U tom se procesu originalni indeks ispada i stvara se novi svježi indeks. Tako se fizički i logički redoslijed vraćaju u prvobitne položaje, a izvedba se poboljšava. Obnova također može stvoriti nove stranice prema potrebi, a može se izvoditi i izvanmrežno ili na mreži.

Stoga bi defragmentacija trebala biti dio procesa održavanja SQL Servera i treba ga shvatiti ozbiljno. Mora se izraditi i slijediti pravilan plan analize upita. Na temelju rezultata upita mora se izvršiti ponovna izgradnja ili reorganizacija indeksa. Ukratko, defragmentacija je ključna za poboljšanje performansi SQL sustava.

Što defragmentacija čini za sql sustave?