Acasă Baze de date Ce face defragmentarea pentru sistemele sql?

Ce face defragmentarea pentru sistemele sql?

Anonim

Î:

Ce face defragmentarea pentru sistemele SQL?

A:

Întreținerea și monitorizarea continuă a bazei de date sunt elementele cheie care trebuie luate în considerare pentru a executa fără probleme un sistem SQL. Când o bază de date este creată și populată, inițial datele sunt plasate într-o locație fizică contiguă (dacă este disponibil un spațiu fizic contigu suficient). Deci, în acest caz, ordonarea logică și ordonarea fizică a datelor sunt probabil similare și crește performanța.

Când datele sunt modificate, șterse sau actualizate, indexurile relevante sunt, de asemenea, actualizate automat pentru a reflecta aceste modificări. Drept urmare, indexurile devin fragmentate, iar informațiile sunt împrăștiate în spațiul de stocare. Modifică ordonarea fizică a datelor (deoarece pierde alocarea contiguă), iar regăsirea devine mult timp, ceea ce duce la o performanță lentă a bazei de date.

Soluția la această problemă este să efectuați defragmentarea periodic. Defragmentarea reconstruiește sau reorganizează indexurile pentru a potrivi ordonarea logică a datelor cu comanda fizică. Înainte de a efectua orice operație de defragmentare, toți indexurile trebuie analizați corect. Rezultatele analizei determină dacă este necesară o reorganizare sau reconstrucție.

Cele două operații principale efectuate prin procesul de defragmentare sunt:

  • Reorganizarea indexului - Reorganizarea indexului se realizează atunci când fragmentarea este la un nivel scăzut și performanța nu este grav afectată. Acest proces face de fapt reordonarea fizică a paginilor la nivel de frunze pentru a se potrivi cu ordonarea logică. Nu creează pagini noi; acesta reordonează doar paginile existente. Reorganizarea poate fi efectuată în timp ce sistemul este online, fără a bloca operațiunile normale ale bazei de date.
  • Reconstruirea indexului - Procesul de reconstruire a indexului se realizează atunci când fragmentarea este la un nivel mai profund și performanța este prea lentă. În acest proces, indexul inițial este abandonat și este creat un nou index nou. Deci comanda fizică și logică sunt reglate la pozițiile inițiale, iar performanța îmbunătățește varietatea. Reconstrucția poate crea, de asemenea, noi pagini, după cum este necesar, și poate fi efectuată în modul offline sau online.

Prin urmare, defragmentarea ar trebui să facă parte din procesul de întreținere SQL Server și trebuie luată în serios. Un plan adecvat de analiză de interogare trebuie să fie construit și respectat. Pe baza rezultatelor analizei de interogare, reconstrucția sau reorganizarea indexurilor trebuie efectuate. Pe scurt, defragmentarea este esențială pentru îmbunătățirea performanței sistemelor SQL.

Ce face defragmentarea pentru sistemele sql?