Care este indicele Diferență între cluster și Nonclustered

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.

Domenii cheie acoperite

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

Termeni cheie

Indexul clustered, indicele noncluster

Ce este un index

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.

Ce este un index cluster?

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.

Ce este un indice Nonclustered

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.

Diferența dintre indexul clustered și nonclustered

Definiție

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

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.

Funcționalitate

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.

Ordine de stocare a datelor

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.

Spațiul de memorie necesar

În plus, un index nonclustered necesită mai mult spațiu de memorie decât un index grupat.

Viteză

Viteza reprezintă o altă diferență între indicele grupat și cel neclusat. Indicii nesubstrați sunt mai slabi decât indicii grupați.

Concluzie

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.

Referinţă:

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.

Datorită fotografiei:

1. "Logo-uri de baze de date" de Borjasotomayor la Wikimanuale Engleză (CC BY-SA 3.0) prin Wikimedia Commons