Forskjellen mellom klynge- og ikke-klyngeindeks

Forskjellen mellom klynge- og ikke-klyngeindeks
Forskjellen mellom klynge- og ikke-klyngeindeks

Video: Forskjellen mellom klynge- og ikke-klyngeindeks

Video: Forskjellen mellom klynge- og ikke-klyngeindeks
Video: Straum, spenning, effekt og motstand 2024, Juli
Anonim

Cluster vs Non Cluster Index

Indekser er veldig viktige i enhver database. De brukes til å forbedre ytelsen til å hente data fra tabeller. De er logisk og fysisk uavhengige av dataene i de tilknyttede tabellene. Derfor kan indekser slippes, gjenskapes og gjenoppbygges uten å påvirke dataene til basistabellene. Oracle-serveren kan automatisk vedlikeholde sine indekser uten involvering av en DBA, når de relaterte tabellene settes inn, oppdateres og slettes. Det finnes flere indekstyper. Her er noen av dem.

1. B-tree-indekser

2. Punktgrafikkindekser

3. Funksjonsbaserte indekser

4. Omvendt nøkkelindekser

5. B-tre klyngeindekser

Hva er en ikke-klyngeindeks?

Fra indekstypene ovenfor er følgende ikke-klyngede indekser.

• B-tree-indeks

• Bitmap-indeks

• Funksjonsbasert indeks

• Omvendt nøkkelindekser

B-tree-indekser er den mest brukte indekstypen av databaser. Hvis CREATE INDEX-kommandoen utstedes på databasen, uten å spesifisere en type, oppretter Oracle-serveren en b-treindeks. Når en b-treindeks opprettes på en spesifikk kolonne, lagrer oracle-serveren verdiene til kolonnen og beholder en referanse til den faktiske raden i tabellen.

Bitmap-indekser opprettes når kolonnedataene ikke er veldig selektive. Det betyr at kolonnedataene har lav kardinalitet. Disse er spesialdesignet for datavarehus, og det er ikke bra å bruke punktgrafikkindekser på svært oppdaterbare eller transaksjonstabeller.

Funksjonelle indekser kommer fra Oracle 8i. Her brukes en funksjon i den indekserte kolonnen. Derfor, i en funksjonell indeks, blir ikke kolonnedata sortert på vanlig måte. Den sorterer verdiene til kolonnene etter å ha brukt funksjonen. Disse er svært nyttige når WHERE-lukkingen av utvalgsspørringen brukes som en funksjon.

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

De ovennevnte indekstypene er IKKE-KLUSTERTE indekser. Det betyr at indekserte data lagres utenfor tabellen, og en sortert referanse til tabellen beholdes.

Hva er en gruppert indeks?

Klyngede indekser er en spesiell type indekser. Den lagrer data i henhold til måten å lagre tabelldata på fysisk. Så det kan ikke være mange grupperte indekser for én tabell. Én tabell kan bare ha én gruppert indeks.

Hva er forskjellen mellom grupperte og ikke-klyngede indekser?

1. Tabell kan bare ha én klynget indeks, men det kan være opptil 249 ikke-klyngede indekser i én tabell.

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

3. Den logiske rekkefølgen til den grupperte indeksen samsvarer med den fysiske rekkefølgen til tabelldataene, men i ikke-klyngede indekser stemmer den ikke.

Anbefalt: