Indicii sunt, în esență, necesari pentru aplicarea eficientă a constrângerilor de integritate și a procesării eficiente a interogărilor și tranzacțiilor. Acestea sunt create pe tabele și vizualizări. De exemplu, indicii utilizați în cărți care facilitează accesul rapid al unui utilizator la conținutul unei cărți, în mod similar, avem și indicii din SQL.
Diagramă de comparație
Bazele de comparație | Indexul clustered | Indice non-grupat |
---|---|---|
De bază | Determină ordinea de stocare a rândurilor într-un tabel ca întreg. | Determină ordinea de stocare a rândurilor într-un tabel cu ajutorul structurii fizice separate. |
Numărul de indici permiși pe tabel | Numai un indice cluster | Indici multipli care nu sunt grupați |
Accesarea datelor | Mai repede | Mai lent comparativ cu indicele grupat |
Spațiu suplimentar pe disc | Nu e necesar | Obligatoriu pentru stocarea separată a indicilor |
Definiția indice Clustered
Indicele Clustered este folosit în principal pentru a ordona rândurile într-un tabel. O tabelă poate avea un singur index indexat, deoarece rândurile dintr-un tabel pot fi sortate într-o singură ordine, dar există modalități de a crea un index compozit în grup . Coloanele sunt incluse în indexul grupat și ordinea logică sau indexată a valorilor cheie este aceeași cu ordinea stocată fizic a rândurilor corespunzătoare. Atunci când nu există un index grupat pentru date, acesta este stocat într-o grămadă .
Accesarea înregistrărilor într-o grămadă este foarte consumatoare de timp, unde fiecare intrare într-o masă este scanată pentru a accesa datele dorite. În scanarea mesei, nu a existat nici o modalitate de a afla dacă există mai multe meciuri disponibile sau nu. Deci, această metodă a fost foarte ineficientă.
În timp ce utilizați un indice cluster, accesarea datelor este mai rapidă și mai sistematică în cazul în care tabela este organizată într-o anumită ordine. Acesta este definit în câmpul de comandă al tabelului. Se utilizează cheia de căutare specifică aranjamentul secvențial al fișierului sau al tabelului. Un index indexat în grup este creat automat atunci când o cheie primară este definită pentru un tabel.
Definiția non-clustered index
Indicele non-clustered stochează datele într-un singur loc și indicii dintr-un loc diferit, iar indexul ar avea indicatori la locația de stocare a datelor. Un tabel poate avea mai mulți indicatori care nu sunt grupați, deoarece indicele din indexul care nu este grupat este stocat într-un loc diferit. De exemplu, o carte poate avea mai mult de un index, unul la început care arată conținutul unei unități de carte înțelept și un alt index la sfârșitul care arată indexul termenilor în ordine alfabetică.
Acesta este definit în câmpul neordonat al tabelului. Indicele non-clustered ar putea îmbunătăți performanța interogărilor care utilizează alte chei decât tastele primare. Un indice non-cluster este creat automat atunci când este definită o cheie unică pentru un tabel.
Diferențe cheie între indexul grupat și cel neangajat
- Numărul de indexuri grupate pe care o tabelă le poate avea este doar unul. În timp ce o masă poate avea mai mulți indicatori care nu sunt grupați.
- Un index indexat este mai rapid decât indicele non-clustered, deoarece indicele non-clustered trebuie să se refere la tabelul de bază. Dimpotrivă, acest lucru nu este cazul în indexul grupat.
- Într-un index non-clustered, indexul este stocat într-o locație separată, ceea ce necesită un spațiu de stocare suplimentar. Spre deosebire, indexul cluster stochează datele din tabelul de bază în aceeași ordine fizică ca ordinea logică a indexului, deci nu necesită spațiu suplimentar de stocare.
Concluzie
Indexul cluster este o modalitate de stocare a datelor în rândurile unei mese într-o anumită ordine. Deci, atunci când se caută datele dorite, singurul rând corespunzător devine afectat care conține datele și este reprezentat ca ieșire. Pe de altă parte, indicele non-clustered se află într-o structură separată fizic care face trimitere la datele de bază atunci când este căutată. O structură non-clustered poate avea o ordine de sortare diferită.