Hva er forskjellen mellom Clustered og Nonclustered Index

De hovedforskjell mellom klynget og ikke-clustered indeks er det Det er bare en gruppert indeks per tabell mens det er flere ikke-klusterindekser per tabell.

Først og fremst er indeksering en teknikk for å hente poster fra databasefiler enkelt og effektivt. Det øker spørringsytelsen for klientprogrammene som bruker databasen. Videre er det to typer indekser som klynget og ikke-klynget indeks. Klynget indeks endrer rekkefølgen der dataene er lagret i disken. Imidlertid stemmer ikke den logiske rekkefølgen til indeksen i en ikke-klumpet indeks i den fysiske rekkefølgen av data som er lagret i disken.

Nøkkelområder dekket

1. Hva er en indeks
     - Definisjon, funksjonalitet
2. Hva er en klynget indeks
     - Definisjon, funksjonalitet
3. Hva er en ikke-klumpet indeks
     - Definisjon, funksjonalitet
4. Hva er forskjellen mellom Clustered og Nonclustered Index
     - Sammenligning av nøkkelforskjeller

Nøkkelord

Clustered Index, Nonclustered Index

Hva er en indeks

Anta et bord som lagrer detaljene til kunden. Den har tre kolonner som fornavn, etternavn og kontaktnummer. Hvis det ikke er noen indekser i tabellen, blir dataene satt inn i ledig plass i lagringen uten noen bestemt ordre. Hvis brukeren krever å oppnå et bestemt kundes telefonnummer, er det nødvendig å søke data fra begynnelsen. Selv om vi får dataene, er det nødvendig å fortsette til slutten fordi det kan være matchende data på slutten. Indeksene er nyttige i disse situasjonene.

Hva er en klynget indeks

En klynget indeks endrer rekkefølgen der dataene lagres fysisk. Etter at tabelldata er i fysisk rekkefølge, oppretter DBMS indekssider. De hjelper å navigere enkelt til de nødvendige dataene. Hele strukturen med basistabeldataene er kjent som en klynget indeks. Prosessen med en spørring som navigerer gjennom det klyngede indekstreet til basistabeldataene kalles klynget indekssøk. Det er en gruppert indeks per tabell fordi det er umulig å fysisk arrangere data på to forskjellige måter uten å bruke separate strukturer.

Hva er en ikke-klumpet indeks

En nonclustered indeks sorterer ikke de fysiske dataene i tabellen. Indeksen og tabellen lagres på forskjellige steder. Videre er det poeng eller referanser til dataene i tabellen. Det er mulig å lagre data i hvilken som helst rekkefølge da den rekkefølgen er uavhengig av basistabeldataene. Derfor kan det være flere enn en ikke-kluset indeks per tabell. Dataene i basistabellen er i bunke mens referansene er radidentifikatorer.

Når du utfører en spørring mot en kolonne, går databasen først til indeksen og ser etter adressen til den tilsvarende raden i tabellen. Deretter går det til radadressen og henter andre kolonneverdier. Derfor er ikke-klusterindekser langsommere enn klyngede indekser. Når det er en unik nøkkel definert i tabellen, opprettes en ikke-klynget indeks automatisk.

Forskjellen mellom Clustered og Nonclustered Index

Definisjon

En klynget indeks er en type indeks der tabelloppføringene fysisk er bestilt for å matche indeksen. En nonclustered indeks, derimot, er en spesiell type indeks der den logiske rekkefølgen av indeksen ikke stemmer overens med den fysiske lagrede rekkefølgen av radene på disken. Disse definisjonene forklarer forskjellen mellom klynget og ikke-klynget indeks.

Antall indekser

Antall indekser per tabell er en stor forskjell mellom klynget og ikke-klynget indeks. Et bord kan ha en enkelt klyngeindeks, men flere ikke-klyngede indekser.

funksjonalitet

Klynget indeks lagrer ikke pekere til de faktiske dataene. Men ikke-klynget indeks lagrer både verdien og en peker til den faktiske raden som inneholder data. Derfor er dette en annen forskjell mellom klynget og ikke-klynget indeks.

Bestilling av lagringsdata

Videre bestemmer en klyngeindeks rekkefølgen for lagring av data på disken, mens en ikke-klynget indeks ikke har noen effekt på rekkefølgen for lagring av data på disken.

Nødvendig minneplass

I tillegg krever en nonclustered indeks mer minne enn en klyngeindeks.

Hastighet

Hastighet er en annen forskjell mellom klynget og ikke-klynget indeks. Nonclustered indekser er langsommere enn klyngede indekser.

Konklusjon

Det er to typer indekser som klynget og ikke-klynget indeks. Forskjellen mellom klynget og ikke-klynget indeks er at det kun er én klynget indeks per tabell mens det er flere ikke-klusterindekser per tabell. Kort sagt, en ikke-kluset indeks er tregere og krever mer plass enn en klyngeindeks.

Henvisning:

1. Yadav, Durgaprasad. "Indeks i SQL Server." LinkedIn SlideShare, 21 Nov. 2015, Tilgjengelig her.
2. Rahaman, Mahabubur. "Introduksjon av SQL Server Indexing." LinkedIn SlideShare, 23. mai 2015, Tilgjengelig her.

Bilde Courtesy:

1. "Databaser logo" Av Borjasotomayor på engelsk (CC BY-SA 3.0) via Commons Wikimedia