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.
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
Clustered Index, Nonclustered Index
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.
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.
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.
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 per tabell er en stor forskjell mellom klynget og ikke-klynget indeks. Et bord kan ha en enkelt klyngeindeks, men flere ikke-klyngede indekser.
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.
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.
I tillegg krever en nonclustered indeks mer minne enn en klyngeindeks.
Hastighet er en annen forskjell mellom klynget og ikke-klynget indeks. Nonclustered indekser er langsommere enn klyngede indekser.
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.
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.
1. "Databaser logo" Av Borjasotomayor på engelsk (CC BY-SA 3.0) via Commons Wikimedia