Indeksering i DBMS: Hvad er, typer af indekser med EKSEMPLER

Hvad er indeksering?

Indeksering er en datastrukturteknik, som giver dig mulighed for hurtigt at hente poster fra en databasefil. Et indeks er en lille tabel med kun to kolonner. Den fรธrste kolonne omfatter en kopi af den primรฆre eller kandidatnรธgle i en tabel. Dens anden kolonne indeholder et sรฆt af pointers for at holde adressen pรฅ diskblokken, hvor den specifikke nรธglevรฆrdi er gemt.

Et indeks โ€“

  • Tager en sรธgetast som input
  • Returnerer effektivt en samling af matchende poster.

Typer af indeksering i DBMS

Typer af indeksering i DBMS
Type af indekser i databasen

Indeksering i databasen er defineret ud fra dens indekseringsattributter. To hovedtyper af indekseringsmetoder er:

  • Primรฆr indeksering
  • Sekundรฆr indeksering

Primรฆrt indeks i DBMS

Primary Index er en ordnet fil, som har en fast lรฆngdestรธrrelse med to felter. Det fรธrste felt er det samme som en primรฆr nรธgle, og det andet felt peges pรฅ den specifikke datablok. I det primรฆre indeks er der altid et til et forhold mellem indtastningerne i indekstabellen.

Den primรฆre Indeksering i DBMS er ogsรฅ yderligere opdelt i to typer.

  • Tรฆt indeks
  • Sparsomt indeks

Tรฆt indeks

I et tรฆt indeks oprettes en post for hver sรธgenรธgle, der er vรฆrdisat i databasen. Dette hjรฆlper dig med at sรธge hurtigere, men har brug for mere plads til at gemme indeksposter. I denne indeksering indeholder metodeposter sรธgenรธglevรฆrdi og peger pรฅ den rigtige post pรฅ disken.

Tรฆt indeks

Sparsomt indeks

Det er en indekspost, der kun vises for nogle af vรฆrdierne i filen. Sparse Index hjรฆlper dig med at lรธse problemerne med tรฆt indeksering DBMS. I denne metode til indekseringsteknik gemmer en rรฆkke indekskolonner den samme datablokadresse, og nรฅr data skal hentes, vil blokadressen blive hentet.

Sparse Index gemmer dog kun indeksposter for nogle sรธgenรธglevรฆrdier. Det har brug for mindre plads, mindre vedligeholdelsesomkostninger til indsรฆttelse og sletninger, men det er langsommere sammenlignet med det tรฆtte indeks til at lokalisere poster.

Nedenfor er et databaseindeks Eksempel pรฅ Sparse Index

Sparsomt indeks

Sekundรฆrt indeks i DBMS

Det sekundรฆre indeks i DBMS kan genereres af et felt, som har en unik vรฆrdi for hver post, og det bรธr vรฆre en kandidatnรธgle. Det er ogsรฅ kendt som et ikke-klyngeindeks.

Denne to-niveau database indekseringsteknik bruges til at reducere kortlรฆgningsstรธrrelsen af โ€‹โ€‹det fรธrste niveau. For det fรธrste niveau vรฆlges et stort antal tal pรฅ grund af dette; kortlรฆgningsstรธrrelsen forbliver altid lille.

Eksempel pรฅ sekundรฆrt indeks

Lad os forstรฅ sekundรฆr indeksering med et databaseindekseksempel:

I en bankkontodatabase lagres data sekventielt af acc_no; du vil mรฅske finde alle konti i en bestemt filial af ABC-bank.

Her kan du have et sekundรฆrt indeks i DBMS for hver sรธgenรธgle. Indekspost er et postpunkt til en bucket, der indeholder pointere til alle posterne med deres specifikke sรธgenรธglevรฆrdi.

Eksempel pรฅ sekundรฆrt indeks

ClusterIndeks i DBMS

I et klynget indeks gemmes selve poster i indekset og ikke pegepinde. Nogle gange oprettes indekset pรฅ ikke-primรฆre nรธglekolonner, som mรฅske ikke er unikke for hver post. I en sรฅdan situation kan du gruppere to eller flere kolonner for at fรฅ de unikke vรฆrdier og oprette et indeks, som kaldes clustered Index. Dette hjรฆlper dig ogsรฅ med at identificere posten hurtigere.

Eksempel:

Lad os antage, at en virksomhed rekrutterede mange medarbejdere i forskellige afdelinger. I dette tilfรฆlde bรธr der oprettes klyngeindeksering i DBMS for alle medarbejdere, der tilhรธrer samme afd.

Det betragtes i en enkelt klynge, og indekspunkter peger pรฅ klyngen som helhed. Her er afdeling _nr en ikke-unik nรธgle.

Hvad er Multilevel Index?

Indeksering pรฅ flere niveauer Database oprettes, nรฅr et primรฆrt indeks ikke passer i hukommelsen. I denne type indekseringsmetode kan du reducere antallet af diskadgange for at forkorte enhver post og opbevares pรฅ en disk som en sekventiel fil og oprette en sparsom base pรฅ den fil.

Indeks pรฅ flere niveauer

B-Tree-indeks

B-trรฆindeks er de meget anvendte datastrukturer til trรฆbaseret indeksering i DBMS. Det er et multilevel-format af trรฆbaseret indeksering i DBMS-teknik, som har balanceret binรฆre sรธgetrรฆer. Alle bladknuder i B-trรฆet angiver faktiske datapegere.

Desuden er alle bladknuder forbundet med en linkliste, som tillader et B-trรฆ at understรธtte bรฅde tilfรฆldig og sekventiel adgang.

B-Tree-indeks

  • Lead noder skal have mellem 2 og 4 vรฆrdier.
  • Hver vej fra rod til blad er for det meste lige lang.
  • Ikke-bladknuder bortset fra rodknuden har mellem 3 og 5 bรธrneknuder.
  • Hver knude, der ikke er en rod eller et blad, har mellem n/2] og n bรธrn.

Fordele ved indeksering

Vigtige fordele/fordele ved indeksering er:

  • Det hjรฆlper dig med at reducere det samlede antal I/O-operationer, der er nรธdvendige for at hente disse data, sรฅ du ikke behรธver at fรฅ adgang til en rรฆkke i databasen fra en indeksstruktur.
  • Tilbyder hurtigere sรธgning og hentning af data til brugere.
  • Indeksering hjรฆlper dig ogsรฅ med at reducere tablespace, da du ikke behรธver at linke til en rรฆkke i en tabel, da der ikke er behov for at gemme ROWID i Index. Sรฅledes vil du vรฆre i stand til at reducere bordpladsen.
  • Du kan ikke sortere data i lead noderne, da vรฆrdien af โ€‹โ€‹den primรฆre nรธgle klassificerer dem.

Ulemper ved indeksering

Vigtige ulemper/ulemper ved indeksering er:

  • For at udfรธre indekseringsdatabasestyringssystemet skal du have en primรฆr nรธgle pรฅ bordet med en unik vรฆrdi.
  • Du kan ikke udfรธre andre indekser i databasen pรฅ de indekserede data.
  • Du har ikke tilladelse til at partitionere en indeksorganiseret tabel.
  • SQL-indeksering Reducer ydeevnen i INSERT-, DELETE- og UPDATE-forespรธrgslen.

Resumรฉ

  • Indeksering er en lille tabel, der bestรฅr af to kolonner.
  • To hovedtyper af indekseringsmetoder er 1) Primรฆr indeksering 2) Sekundรฆr indeksering.
  • Primary Index er en ordnet fil, som har en fast lรฆngdestรธrrelse med to felter.
  • Den primรฆre indeksering er ogsรฅ yderligere opdelt i to typer 1) tรฆt indeks 2) sparsom indeks.
  • I et tรฆt indeks oprettes en post for hver sรธgenรธgle, der er vรฆrdisat i databasen.
  • En sparsom indekseringsmetode hjรฆlper dig med at lรธse problemerne med tรฆt indeksering.
  • Det sekundรฆre indeks i DBMS er en indekseringsmetode, hvis sรธgenรธgle angiver en rรฆkkefรธlge, der er forskellig fra den sekventielle rรฆkkefรธlge af filen.
  • Clustering-indeks er defineret som en ordredatafil.
  • Multilevel Indexing oprettes, nรฅr et primรฆrt indeks ikke passer i hukommelsen.
  • Den stรธrste fordel ved indeksering er, at det hjรฆlper dig med at reducere det samlede antal I/O-operationer, der er nรธdvendige for at hente disse data.
  • Den stรธrste ulempe ved at udfรธre indekseringsdatabasestyringssystemet, du har brug for en primรฆr nรธgle pรฅ bordet med en unik vรฆrdi.

Opsummer dette indlรฆg med: