Databaseindeks: En introduksjon for nybegynnere

Databaseindeks: En introduksjon for nybegynnere

'Database Index' refererer til en spesiell type datastruktur som fremskynder henting av poster fra en databasetabell. Databaseindekser sørger for at du effektivt kan finne og få tilgang til dataene i en databasetabell uten å måtte søke i hver rad hver gang en databasespørring blir behandlet.





En databaseindeks kan sammenlignes med en boks indeks. Indekser i databaser viser deg til posten du leter etter i databasen, akkurat som en boks indeksside viser deg til ønsket emne eller kapittel.





Selv om databaseindekser er avgjørende for rask og effektiv dataoppslag og tilgang, tar de opp ekstra skriver og minne.





Hva er en indeks?

Databaseindekser er spesielle oppslagstabeller som består av to kolonner. Den første kolonnen er søketasten, og den andre er datapekeren. Nøklene er verdiene du vil søke og hente fra databasetabellen, og pekeren eller referansen lagrer diskblokkadressen i databasen for den spesifikke søkenøkkelen. Nøkkelfeltene er sortert slik at det akselererer datainnsamlingen for alle dine søk.

Hvorfor bruke databaseindeksering?

Jeg skal vise deg databaseindekser på en forenklet måte her. La oss anta at du har en databasetabell over de åtte ansatte som jobber i et selskap, og du vil søke i informasjonen etter den siste oppføringen i tabellen. Nå, for å finne den forrige oppføringen, må du søke i hver rad i databasen.



Anta imidlertid at du har sortert tabellen alfabetisk basert på fornavn til de ansatte. Så her er indekseringsnøkler basert på navnekolonnen. I så fall, hvis du søker i den siste oppføringen, Zack , kan du hoppe til midten av bordet og bestemme om oppføringen vår kommer før eller etter kolonnen.

Som du vet, kommer den etter den midterste raden, og du kan igjen dele radene etter den midterste raden i to og gjøre en lignende sammenligning. På denne måten trenger du ikke å krysse hver rad for å finne den siste oppføringen.





Hvis selskapet hadde 1.000.000 ansatte og den siste oppføringen var Zack, måtte du søke i 50.000 rader for å finne navnet hans. Mens du kan gjøre det med alfabetisk indeksering i noen få trinn. Du kan nå forestille deg hvor mye raskere dataoppslag og tilgang kan bli med databaseindeksering.

I slekt: 13 viktigste SQL -kommandoer enhver programmerer burde vite





Ulike filorganisasjonsmetoder for databaseindekser

Indeksering avhenger sterkt av filorganisasjonsmekanismen som brukes. Vanligvis er det to typer filorganisasjonsmetoder som brukes i databaseindeksering for å lagre data. De diskuteres nedenfor:

1. Bestilt indeksfil: Dette er den tradisjonelle metoden for lagring av indeksdata. I denne metoden blir nøkkelverdiene sortert i en bestemt rekkefølge. Data i en bestilt indeksfil kan lagres på to måter.

  • Sparsom indeks: I denne typen indeksering opprettes en indeksoppføring for hver post.
  • Tett indeks: Ved tett indeksering opprettes en indeksoppføring for noen poster. For å finne en post i denne metoden, må du først finne den viktigste søkeverdien fra indeksoppføringer som er mindre enn eller lik søkenøkkelverdien du leter etter.

2. Hash -filorganisasjon: I denne filorganisasjonsmetoden bestemmer en hashfunksjon plasseringen eller diskblokken der en post er lagret.

Typer databaseindeksering

Det er vanligvis tre metoder for databaseindeksering. De er:

  • Klynget indeksering
  • Ikke-gruppert indeksering
  • Indeksering på flere nivåer

1. Klynget indeksering

I klynget indeksering kan en enkelt fil lagre mer enn to dataposter. Systemet beholder de faktiske dataene i gruppert indeksering i stedet for pekene. Søking er kostnadseffektivt med gruppert indeksering, ettersom den lagrer alle relaterte data på samme sted.

hvordan lage vektorkunst i illustrator

En klyngeindeks bruker ordnede datafiler til å definere seg selv. Det er også veldig vanlig å koble til flere databasetabeller med denne typen indeksering.

Det er også mulig å lage en indeks basert på ikke-primære kolonner som ikke er unike for hver nøkkel. Ved slike anledninger kombinerer den flere kolonner for å danne de unike nøkkelverdiene for klyngede indekser.

Så, kort sagt, klyngingsindekser er der lignende datatyper grupperes og indekser opprettes for dem.

Eksempel: Anta at det er et selskap som har over 1000 ansatte fordelt på 10 forskjellige avdelinger. I dette tilfellet bør selskapet opprette klyngeringsindeksering i DBMS for å indeksere de ansatte som jobber i samme avdeling.

Hver klynge med ansatte som jobber i samme avdeling vil bli definert som en enkelt klynge, og datapekere i indekser vil referere til klyngen som en helhet.

I slekt: Hva er utenlandske nøkler i SQL -databaser?

2. Ikke-gruppert indeksering

Ikke-gruppert indeksering refererer til en type indeksering der rekkefølgen på indeksradene ikke er den samme som hvordan de originale dataene lagres fysisk. I stedet peker en ikke-gruppert indeks på datalagringen i databasen.

Eksempel: Ikke-gruppert indeksering ligner på en bok som har en bestilt innholdsside. Her er datapekeren eller referansen den bestilte innholdssiden som er sortert alfabetisk, og de faktiske dataene er informasjonen på bokens sider. Innholdssiden lagrer ikke informasjonen på bokens sider i rekkefølgen.

3. Indeksering på flere nivåer

Indeksering på flere nivåer brukes når antall indekser er veldig høyt, og den ikke kan lagre den primære indeksen i hovedminnet. Som du kanskje vet, består databaseindekser av søketaster og datapekere. Når størrelsen på databasen øker, vokser også antall indekser.

For å sikre en rask søkeoperasjon er det imidlertid nødvendig med indeksregistre i minnet. Hvis en indeks på ett nivå brukes når indeksnummeret er høyt, er det lite sannsynlig at den vil lagre indeksen i minnet på grunn av størrelsen og flere tilganger.

Det er her indeksering på flere nivåer spiller inn. Denne teknikken bryter indeksen på ett nivå i flere mindre blokker. Etter å ha brutt ned, blir blokken på ytre nivå så liten at den lett kan lagres i hovedminnet.

I slekt: Hvordan koble til en MySQL -database med Java

Hva er SQL Index Fragmentation?

Når en hvilken som helst rekkefølge på indekssidene ikke samsvarer med den fysiske rekkefølgen i datafilen, forårsaker fragmentering av SQL -indeks. I utgangspunktet ligger alle SQL-indeksene uten fragmentering, men når du bruker databasen (Sett inn/slett/endre data) gjentatte ganger, kan det forårsake fragmentering.

Bortsett fra databasefragmentering, kan databasen også møte andre viktige problemer som databasekorrupsjon. Det kan føre til tapte data og et skadet nettsted. Hvis du gjør forretninger med nettstedet ditt, kan det være et dødelig slag for deg.

Dele Dele kvitring E -post Er SQL Server -data ødelagt? Prøv å gjenopprette det med SQL Recovery Toolbox

Recovery Toolbox for SQL Server hjelper til med å fikse de ødelagte MDF -filene til en MS SQL Server for alle versjoner.

kan du bruke en xbox one -kontroller på pc
Les neste Relaterte temaer
  • Programmering
  • SQL
  • Dataanalyse
  • database
Om forfatteren Zadhid A. Powell(16 artikler publisert)

Zadhid Powell er en datamaskiningeniør som ga opp kodingen for å begynne å skrive! Ved siden av er han en digital markedsfører, teknologientusiast, SaaS -ekspert, leser og ivrig tilhenger av programvaretrender. Ofte kan det hende du finner ham som rocker sentrumsklubber med gitaren eller inspiserer dykking på havbunnen.

Mer fra Zadhid A. Powell

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere