Klynget vs ikke-klynget indeks: Nøkkelforskjeller med eksempel

Hva er en indeks?

En indeks er en nøkkel bygget fra en eller flere kolonner i databasen som fremskynder å hente rader fra tabellen eller visningen. Denne nøkkelen hjelper en database som Oracle, SQL Server, MySQL, etc. til raskt å finne raden knyttet til nøkkelverdier.

To typer indekser er:

  • Clustered Index
  • Non-Clustered Index

I denne veiledningen , vil du lære:

  • Hva er en indeks?
  • Hva er en gruppert indeks?
  • Hva er ikke-gruppert indeks?
  • Karakteristisk for klynget indeks
  • Kjennetegn på ikke-klyngede indekser
  • Et eksempel på en klynget indeks
  • Et eksempel på en ikke- klynget indeks
  • Forskjeller mellom klynget indeks og ikke-klynget indeks
  • Fordeler med klynget indeks
  • Fordeler med ikke-klynget indeks
  • Ulemper med klynget Indeks
  • Ulemper ved ikke-klynget indeks

Hva er en klynget indeks?

Klyngeindeks er en type indeks som sorterer dataradene i tabellen om nøkkelverdiene. I databasen er det bare en gruppert indeks per tabell.

En gruppert indeks definerer rekkefølgen data lagres i tabellen, som bare kan sorteres på en måte. Så det kan være bare en enkelt gruppert indeks for hver tabell. I en RDBMS lar vanligvis primærnøkkelen deg lage en gruppert indeks basert på den spesifikke kolonnen.

Hva er ikke-gruppert indeks?

En ikke-gruppert indeks lagrer dataene på ett sted og indekser på et annet sted. Indeksen inneholder pekere til plasseringen av dataene. En enkelt tabell kan ha mange ikke-grupperte indekser ettersom en indeks i den ikke-grupperte indeksen er lagret forskjellige steder.

For eksempel kan en bok ha mer enn en indeks, en i begynnelsen som viser innholdet i en bokenhet, mens den andre indeksen viser ordindeksen i alfabetisk rekkefølge.

En ikke-klyngedeksindeks er definert i det ikke-ordrerende feltet i tabellen. Denne typen indekseringsmetode hjelper deg med å forbedre ytelsen til spørsmål som bruker nøkler som ikke er tilordnet som primærnøkkel. En ikke-gruppert indeks lar deg legge til en unik nøkkel for en tabell.

HOVEDFORSKJELL

  • Klyngeindeks er en type indeks som sorterer dataradene i tabellen på nøkkelverdiene, mens den ikke-klyngede indeksen lagrer dataene på ett sted og indekser på et annet sted.
  • Klynget indeks lagrer datasider i bladnodene i indeksen, mens ikke-klynget indeksmetode aldri lagrer datasider i bladnodene i indeksen.
  • Klyngeindeks krever ikke ekstra diskplass mens den ikke-klyngede indeksen krever ekstra diskplass.
  • Klyngeindeks gir raskere tilgang til data, på den annen side er ikke-klynget indeks langsommere.

Karakteristisk for gruppert indeks

  • Standard og sortert datalagring
  • Bruk bare en eller flere kolonner for en indeks
  • Hjelper deg til å lagre data og indeksere sammen
  • Fragmentering
  • Operasjoner
  • Clustered index scan and index search
  • Key Lookup

Egenskaper for ikke-klyngede indekser

  • Bare lagre nøkkelverdier
  • Pekere til høge / grupperte indeksrader
  • Tillater sekundære data tilgang
  • Bro til dataene
  • Operasjoner av indeksskanning og indeksøk
  • Du kan opprette et ikke gruppert indeks for en tabell eller visning
  • Hver indeksrad i den ikke-grupperte indeksen lagrer den ikke-grupperte nøkkelverdien og en radlokator

Et eksempel på en gruppert indeks

I eksemplet nedenfor er SalesOrderDetailID den klyngede indeksen. Eksempelspørsmål for å hente data

SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6

Et eksempel på en ikke-gruppert indeks

I eksemplet nedenfor opprettes en ikke-clusted indeks på OrderQty og ProductID som følger

CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)

Følgende spørsmål blir hentet raskere sammenlignet med den grupperte indeksen.

SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714

Forskjeller mellom gruppert Indeks og ikke-klistrert indeks

Parametere Clustered Non-clustered
Bruk for Du kan sortere postene og lagre klynget indeks fysisk i minnet etter bestillingen . En ikke-gruppert indeks hjelper deg med å opprette en logisk rekkefølge for datarader og bruker pekere for fysiske datafiler.
Lagringsmetode Lar deg lagre datasider i bladnodene i indeksen. Denne indekseringsmetoden lagrer aldri datasider i indeksens bladnoder.
Størrelse Størrelsen på den klyngede indeksen er ganske stor. Størrelsen på den ikke-klyngede indeksen er liten sammenlignet med den klyngede indeksen.
Datatilgang Raskere Tregere sammenlignet med den klyngede indeksen
Ekstra diskplass Ikke påkrevd Påkrevd for å lagre indeksen separat
Type nøkkel Som standard er primære nøkler til tabellen en gruppert indeks. Den kan brukes med unik begrensning på bordet som fungerer som en sammensatt nøkkel.
Hovedfunksjon En klynget indeks kan forbedre ytelsen til datahenting. Den skal opprettes på kolonner som brukes i sammenføyninger.

Fordelene med klynget indeks

Fordelene / fordelene med klyngedeksen er:

  • Klyngede indekser er et ideelt alternativ for rekkevidde eller gruppe etter med maks, min, telletype spørringer
  • I denne typen indeks kan et søk gå rett til et bestemt punkt i data slik at du kan fortsette å lese sekvensielt derfra.
  • Klynget indeksmetode bruker lokaliseringsmekanisme for å finne indeksoppføring ved starten av et område.
  • Det er en effektiv metode for områdesøk når det blir bedt om et utvalg av søkenøkkelverdier.
  • Hjelper deg med å minimere sideoverføringer og maksimere cache-treffene.

Fordeler med ikke-klynget indeks

Fordeler med å bruke ikke-klynget indeks er:

  • En ikke-klyngende indeks hjelper deg for å hente data raskt fra databasetabellen.
  • Hjelper deg med å unngå overheadkostnadene knyttet til den klyngede indeksen
  • En tabell kan ha flere ikke-klyngede indekser i RDBMS. Så det kan brukes til å lage mer enn en indeks.

Ulemper ved gruppert indeks

Her er ulemper / ulemper ved å bruke gruppert indeks:

  • Mange innsatser i ikke-sekvensiell rekkefølge
  • En klynget indeks skaper mange konstante sidedelinger, som inkluderer dataside samt indeksider.
  • Ekstra arbeid for SQL for innlegg, oppdateringer og slettinger.
  • En klynget indeks tar lengre tid å oppdatere poster når feltene i den klyngede indeksen endres.
  • Bladknutene inneholder for det meste datasider i den klyngede indeksen.

Ulemper ved ikke-klynget indeks

Her er ulemper / ulemper ved å bruke ikke-klynget indeks:

Write a Comment

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *