Indekserne er væsentligt nødvendige for effektiv håndhævelse af integritetsmæssige begrænsninger og effektiv behandling af forespørgsler og transaktioner. Disse er oprettet på tabeller og visninger. For eksempel er indekserne, der bruges i bøger, der letter en bruger at få adgang til indholdet af en bog, ligesom vi har indekserne på SQL.
Sammenligningstabel
Grundlag for sammenligning | Clustered Index | Ikke-klynget indeks |
---|---|---|
Grundlæggende | Bestemmer rækkefølge rækkefølgen af rækkerne i en tabel som helhed. | Bestemmer rækkefølgen af rækkerne i et bord ved hjælp af separat fysisk struktur. |
Antal indekser tilladt pr. Bord | Kun ét grupperet indeks | Flere ikke-klyngede indekser |
Dataadgang | Hurtigere | Langsommere i forhold til det klyngede indeks |
Yderligere diskplads | Ikke brug for | Kræves for at gemme indekserne separat |
Definition af klynget indeks
Det klyngede indeks bruges i princippet til at bestille rækkerne i et bord. En tabel kan kun have et grupperet indeks, fordi rækkerne i en tabel kan sorteres i kun en rækkefølge, men der er måder at oprette et sammensat klynget indeks på . Kolonnerne er inkluderet i det klyngede indeks, og den logiske eller indekserede rækkefølge af nøgleværdierne er den samme som den fysisk lagrede rækkefølge af de tilsvarende rækker. Når der ikke er et klynget indeks for dataene, gemmes det i en bunke .
Rekordadgangen i en bunke er meget tidskrævende, hvor hver indgang i en tabel scannes for at få adgang til de ønskede data. I bordscanningen var der ingen måde at finde ud af om der er flere kampe til rådighed eller ej. Så denne metode var meget ineffektiv.
Når du bruger et klynget indeks, er dataadgangen hurtigere og systematisk, hvor bordet er organiseret i en vis rækkefølge. Det er defineret i ordrefeltet på bordet. Dens søgenøgle bruges, specificerer den sekventielle ordning af filen eller tabellen. Et klynget indeks oprettes automatisk, når en primærnøgle er defineret for en tabel.
Definition af ikke-klynget indeks
Det ikke-klyngede indeks gemmer dataene på ét sted og indekser på et andet sted, og indekset vil have pointer til dataens lagringssted. En tabel kan have flere ikke-klyngede indekser, fordi indekset i det ikke-klyngede indeks er gemt på et andet sted. For eksempel kan en bog have mere end et indeks, en i begyndelsen, der viser indholdet af en bogenhed klog og et andet indeks i slutningen, der viser indekset af udtryk i alfabetisk rækkefølge.
Det er defineret i tabellen uden bestilling. Det ikke-klyngede indeks kunne forbedre udførelsen af forespørgsler, der bruger andre nøgler end primærnøgler. Et ikke-klynget indeks oprettes automatisk, når en unik nøgle er defineret for en tabel.
Nøgleforskelle mellem grupperet og ikke-klynget indeks
- Antallet af grupperet indeks, som en tabel kan have, er kun en. Mens en tabel kan have flere ikke-klyngede indekser.
- Et klyngeindeks er hurtigere end ikke-klynget indeks, fordi det ikke-klyngede indeks skal referere tilbage til basistabellen. Tværtimod er det ikke tilfældet i det klyngede indeks.
- I et ikke-grupperet indeks opbevares indekset på en separat placering, der kræver ekstra lagerplads. I modsætning hertil gemmer klynget indeks basetabeldataene i samme fysiske rækkefølge som indeksets logiske rækkefølge, så det kræver ikke ekstra lagerplads.
Konklusion
Det klyngede indeks er en måde at lagre data i rækker af et bord i en bestemt rækkefølge. Så når de ønskede data søges, bliver den eneste tilsvarende række påvirket, der indeholder dataene og er repræsenteret som output. På den anden side ligger det ikke-klyngede indeks i en fysisk separat struktur, der refererer til basisdataene, når den søges. En ikke-klynget struktur kan have en anden sorteringsrækkefølge.