Forskjell mellom Cluster og Non Cluster Index

Anonim

Cluster vs Non Cluster Index

Indeksene er svært viktige i en database. De brukes til å forbedre ytelsen til å hente data fra tabeller. De er logisk og fysisk uavhengige av dataene i de tilhørende tabellene. Derfor kan indekser slippes, gjenskapes og gjenoppbygges uten å påvirke dataene til basisbordene. Oracle-serveren kan automatisk vedlikeholde indeksene uten involvering av en DBA, når de tilhørende tabellene settes inn, oppdateres og slettes. Det finnes flere indekstyper. Her er noen av dem.

en. B-treindekser

2. Bitmap indekser

3. Funksjonsbaserte indekser

4. Omvendt nøkkelindekser

5. B-tre klyngeindekser

Hva er et ikke-klyngerindeks?

Fra de ovennevnte indekstyper er følgende ikke-klyngede indekser.

• B-treindex

• Bitmapindeks

• Funksjonsbasert indeks

• Omvendt nøkkelindekser

B-tre indekser er den mest brukte indeksen type databaser. Hvis CREATE INDEX-kommandoen er utstedt i databasen, oppretter en Oracle-server en b-tre-indeks uten å spesifisere en type. Når en b-treindeks blir opprettet på en bestemt kolonne, lagrer orakelserveren verdiene til kolonnen og holder en referanse til den faktiske raden i tabellen.

Bitmap indekser opprettes når kolonnedataene ikke er veldig selektive. Det betyr at kolonnedataene har en lav kardinalitet. Disse er spesielt utviklet for datalager, og det er ikke bra å bruke bitmap indekser på svært oppdaterbare eller transaksjonelle tabeller.

Funksjonsindeksene kommer fra Oracle 8i. Her brukes en funksjon i indeksert kolonne. Derfor, i en funksjonell indeks, blir ikke kolonnedata sortert på vanlig måte. Det sorterer verdiene av kolonnene etter å ha brukt funksjonen. Disse er svært nyttige når WHERE nær av spørringen brukes en funksjon.

Omvendt nøkkelindekser er en veldig interessant indekstype. La oss anta at en kolonne inneholder mange unike strengdata som 'cityA', 'cityB', 'cityC' … etc. Alle verdiene har et mønster. Første fire tegn er de samme og neste deler endres. Så når REVERSE nøkkelindeks opprettes i denne kolonnen, vil Oracle reversere strengen og gjenopprette den i en b-treindeks.

Ovennevnte indekstyper er ikke-klassifiserte indekser. Det betyr at indekserte data lagres utenfor bordet, og en sortert referanse til bordet holdes.

Hva er en klynget indeks?

Klyngede indekser er en spesiell type indekser. Den lagrer data i henhold til måten å lagre tabelldata fysisk på. Så det kan ikke være mange klyngede indekser for ett bord. Ett bord kan bare ha en klyngeindeks.

Hva er forskjellen mellom klyngede og ikke-klyngede indekser?

en. Tabellen kan bare ha en klyngeindeks, men det kan være opptil 249 ikke-klyngede indekser i ett bord.

2. Klynget indeks opprettes automatisk når en primærnøkkel er opprettet, men en ikke-klynget indeks opprettes når en unik nøkkel opprettes.

3. Logisk rekkefølge av den klyngede indeksen samsvarer med den fysiske rekkefølgen av tabelldata, men i ikke-klyngede indekser, gjør den ikke.