principala diferență între indexul grupat și cel neclusat este acela există numai un indice cluster pe fiecare tabel, în timp ce există mai mulți indici nesclusificați pe tabel.
Mai întâi de toate, indexarea este o tehnică de recuperare a înregistrărilor din fișierele bazei de date cu ușurință și eficientă. Aceasta accelerează performanța interogării pentru aplicațiile client care utilizează baza de date. În plus, există două tipuri de indici ca indici cluster și nonclustered. Indicele indexat modifică ordinea în care datele sunt stocate pe disc. Cu toate acestea, într-un index nonclustered, ordinea logică a indexului nu se potrivește cu ordinea fizică a datelor stocate pe disc.
1. Ce este un index
- Definiție, funcționalitate
2. Ce este un index cluster?
- Definiție, funcționalitate
3. Ce este un indice Nonclustered
- Definiție, funcționalitate
4. Care este indicele Diferență între cluster și Nonclustered
- Compararea diferențelor cheie
Indexul clustered, indicele noncluster
Să presupunem un tabel care stochează detaliile clientului. Are trei coloane ca nume de familie, ultimul nume și număr de contact. Dacă în tabel nu există indici, datele vor fi inserate în spațiile libere din spațiul de stocare, fără nicio comandă specială. Dacă utilizatorul solicită obținerea unui număr de telefon al unui anumit client, este necesar să căutați date de la început. Chiar dacă obținem datele, este necesar să continuăm până la sfârșit, deoarece pot exista date corespunzătoare la sfârșit. Indicii sunt utili în aceste situații.
Un index grupat modifică ordinea în care datele sunt stocate fizic. După ce datele de tabelă sunt în ordinea fizică, DBMS creează pagini index. Ele ajută la navigarea cu ușurință la datele necesare. Întreaga structură cu datele din tabelul de bază este cunoscută ca un index grupat. Procesul unei interogări care navighează prin arborele indexul grupat la datele din tabelul de bază se numește index indexat în grup. Există un indice cluster pentru fiecare tabel deoarece este imposibilă aranjarea fizică a datelor în două moduri diferite fără a utiliza structuri separate.
Un indice nonclustered nu sortează datele fizice din tabel. Indicele și tabelul sunt stocate în locuri diferite. Mai mult, există indicii sau referințe la datele din tabel. Este posibilă stocarea datelor în orice ordine, deoarece respectiva comandă este independentă de datele din tabelul de bază. Prin urmare, pot exista mai mult de un indice nonclust per tabel. Datele din tabelul de bază sunt în heap, în timp ce referințele sunt identificatorii de rânduri.
Când executați o interogare împotriva unei coloane, baza de date se duce mai întâi la index și caută adresa din rândul corespunzător din tabel. Apoi, merge la adresa rândului și aduce alte valori ale coloanei. Prin urmare, indicii nonclustered sunt mai lenți decât indicii grupați. Atunci când există o cheie unică definită în tabel, se va crea automat un index care nu este clustered.
Un indice cluster este un tip de index în care înregistrările de tabele sunt reorganizate fizic pentru a se potrivi cu indexul. Un index noncluster, pe de altă parte, este un tip special de index în care ordinea logică a indexului nu se potrivește cu ordinea stocată fizic a rândurilor de pe disc. Aceste definiții explică diferența dintre indicele grupat și cel neclarat.
Numărul de indici per tabel este o diferență majoră între indexul grupat și cel neclusat. Un tabel poate avea un singur indice cluster, dar un număr mai mare de indicatori nonclusi.
Indicele indexat nu stochează indicii la datele reale. Cu toate acestea, indicele non clustered stochează atât valoarea, cât și un indicator pentru rândul real care deține datele. Prin urmare, aceasta este o altă diferență între indexul clustered și nonclustered.
Mai mult, un index de cluster determină ordinea de stocare a datelor pe disc în timp ce un index nonclustered nu are niciun efect asupra ordinii de stocare a datelor pe disc.
În plus, un index nonclustered necesită mai mult spațiu de memorie decât un index grupat.
Viteza reprezintă o altă diferență între indicele grupat și cel neclusat. Indicii nesubstrați sunt mai slabi decât indicii grupați.
Există două tipuri de indici ca indici cluster și nonclustered. Diferența dintre indicele clustered și nonclustered este că există un singur indice cluster pentru fiecare tabel, în timp ce există mai mulți indici nesclusificați pe tabel. Pe scurt, un indice nonclustered este mai lent și necesită mai mult spațiu decât un index grupat.
1. Yadav, Durgaprasad. "Index pe serverul SQL". LinkedIn SlideShare, 21 noiembrie 2015, disponibil aici.
2. Rahaman, Mahabubur. "Introducerea Indexării Serverului Sql". LinkedIn SlideShare, 23 mai 2015, disponibil aici.
1. "Logo-uri de baze de date" de Borjasotomayor la Wikimanuale Engleză (CC BY-SA 3.0) prin Wikimedia Commons