Databasindex: En introduktion för nybörjare

Databasindex: En introduktion för nybörjare

'Databasindex' hänvisar till en speciell typ av datastruktur som påskyndar hämtning av poster från en databastabell. Databasindex säkerställer att du effektivt kan hitta och komma åt data i en databastabell utan att behöva söka efter varje rad varje gång en databasfråga behandlas.





Ett databasindex kan liknas vid en boks index. Index i databaser pekar dig på posten du letar efter i databasen, precis som en boks indexsida pekar dig till önskat ämne eller kapitel.





Även om databasindex är avgörande för snabb och effektiv datasökning och åtkomst, tar de upp ytterligare skriv- och minnesutrymme.





Vad är ett index?

Databasindex är speciella uppslagstabeller som består av två kolumner. Den första kolumnen är söknyckeln och den andra är datapekaren. Nycklarna är de värden du vill söka och hämta från din databastabell, och pekaren eller referensen lagrar diskblockadressen i databasen för den specifika söknyckeln. Nyckelfälten sorteras så att det påskyndar datahämtningen för alla dina frågor.

Varför använda databasindexering?

Jag ska visa dig databasindex på ett förenklat sätt här. Låt oss anta att du har en databastabell över de åtta anställda som arbetar i ett företag, och du vill söka informationen efter den sista posten i tabellen. För att hitta den tidigare posten måste du söka på varje rad i databasen.



Antag dock att du har sorterat tabellen alfabetiskt baserat på medarbetarnas förnamn. Så här är indexeringsnycklar baserade på namnkolumnen. Om du i så fall söker efter den senaste posten, Zack , kan du hoppa till mitten av bordet och avgöra om vår post kommer före eller efter kolumnen.

Som du vet kommer den efter den mellersta raden, och du kan igen dela raderna efter den mellersta raden på mitten och göra en liknande jämförelse. På så sätt behöver du inte gå igenom varje rad för att hitta den sista posten.





Om företaget hade 1 000 000 anställda och den sista posten var Zack, skulle du behöva söka 50 000 rader för att hitta hans namn. Med alfabetisk indexering kan du göra det i några steg. Du kan nu föreställa dig hur mycket snabbare datasökning och åtkomst kan bli med databasindexering.

Relaterad: 13 viktigaste SQL -kommandon som alla programmerare borde känna till





Olika filorganisationsmetoder för databasindex

Indexering beror starkt på vilken filorganisationsmekanism som används. Vanligtvis finns det två typer av filorganisationsmetoder som används vid databasindexering för att lagra data. De diskuteras nedan:

1. Beställd indexfil: Detta är den traditionella metoden för att lagra indexdata. I den här metoden sorteras nyckelvärdena i en viss ordning. Data i en ordnad indexfil kan lagras på två sätt.

  • Gles index: I denna typ av indexering skapas en indexpost för varje post.
  • Tätt index: Vid tät indexering skapas en indexpost för vissa poster. För att hitta en post i den här metoden måste du först hitta det viktigaste söknyckelvärdet från indexposter som är mindre än eller lika med det söknyckelvärde du letar efter.

2. Hash -filorganisation: I den här filorganisationsmetoden bestämmer en hash -funktion platsen eller hårddiskblocket där en post lagras.

Typer av databasindexering

Det finns i allmänhet tre metoder för databasindexering. Dom är:

  • Klusterad indexering
  • Icke-grupperad indexering
  • Indexering på flera nivåer

1. Klusterad indexering

I grupperad indexering kan en enda fil lagra mer än två dataposter. Systemet behåller faktiska data i grupperad indexering snarare än pekarna. Sökning är kostnadseffektivt med grupperad indexering eftersom den lagrar all relaterad data på samma plats.

hur man stänger av snabbstart windows 10

Ett klusterindex använder ordnade datafiler för att definiera sig själv. Det är också mycket vanligt att gå med flera databastabeller med denna typ av indexering.

Det är också möjligt att skapa ett index baserat på icke-primära kolumner som inte är unika för varje nyckel. Vid sådana tillfällen kombinerar den flera kolumner för att bilda de unika nyckelvärdena för grupperade index.

Kort sagt, klusterindex är där liknande datatyper grupperas och index skapas för dem.

Exempel: Antag att det finns ett företag som har över 1000 anställda på 10 olika avdelningar. I det här fallet bör företaget skapa indexering av kluster i sitt DBMS för att indexera de anställda som arbetar på samma avdelning.

Varje kluster med anställda som arbetar på samma avdelning definieras som ett enda kluster, och datapekare i index hänvisar till klustret som en helhet.

Relaterad: Vad är utländska nycklar i SQL -databaser?

2. Icke-grupperad indexering

Icke-grupperad indexering avser en typ av indexering där ordningsföljden för indexraderna inte är densamma som hur originaldatan lagras fysiskt. Istället pekar ett icke-grupperat index på datalagringen i databasen.

Exempel: Icke-grupperad indexering liknar en bok som har en beställd innehållssida. Här är datapekaren eller referensen den ordnade innehållssidan som är alfabetiskt sorterad, och de faktiska uppgifterna är informationen på bokens sidor. Innehållssidan lagrar inte informationen på bokens sidor i sin ordning.

3. Indexering på flera nivåer

Indexering på flera nivåer används när antalet index är mycket högt och det inte kan lagra det primära indexet i huvudminnet. Som du kanske vet innehåller databasindex söknycklar och datapekare. När databasens storlek ökar växer också antalet index.

För att säkerställa snabb sökning krävs dock indexposter för att lagras i minnet. Om ett index på en nivå används när indexnumret är högt är det osannolikt att det indexet lagras i minnet på grund av dess storlek och flera åtkomstpunkter.

Det är här indexering på flera nivåer spelar in. Denna teknik delar indexet på en nivå i flera mindre block. Efter att ha brutits blir blocket på ytternivå så litet att det enkelt kan lagras i huvudminnet.

Relaterad: Hur man ansluter till en MySQL -databas med Java

Vad är SQL -indexfragmentering?

När någon ordning på indexsidorna inte matchar den fysiska ordningen i datafilen orsakar SQL -indexfragmentering. Inledningsvis finns alla SQL-index utan fragmentering, men när du använder databasen (Infoga/Radera/Ändra data) upprepade gånger kan det orsaka fragmentering.

Förutom databasfragmentering kan din databas också möta andra viktiga frågor som databasskada. Det kan leda till förlorad data och en skadad webbplats. Om du gör affärer med din webbplats kan det vara ett dödligt slag för dig.

Dela med sig Dela med sig Tweet E-post Är SQL Server Data skadad? Försök att återställa det med SQL Recovery Toolbox

Recovery Toolbox för SQL Server hjälper till att fixa de skadade MDF -filerna i en MS SQL Server för alla versioner.

hitta låtens namn från delvisa texter
Läs Nästa Relaterade ämnen
  • Programmering
  • SQL
  • Dataanalys
  • databas
Om författaren Zadhid A. Powell(16 artiklar publicerade)

Zadhid Powell är en datoringenjör som gav upp kodningen för att börja skriva! Tillsammans är han en digital marknadsförare, teknikentusiast, SaaS -expert, läsare och ivrig följare av mjukvarutrender. Ofta kan du hitta honom gunga downtown klubbar med sin gitarr eller inspektera havsbotten dykning.

Mer från Zadhid A. Powell

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera