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

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

Medan databasindex är väsentliga för snabb och effektiv datasökning och åtkomst tar de dock ytterligare skriv- och minnesutrymme.

Vad är ett index?

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

Varför använda databasindexering?

instagram viewer

Jag ska visa 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 att du vill söka informationen för den sista posten i tabellen. För att hitta föregående post måste du söka i varje rad i databasen.

Antag dock att du har sorterat tabellen alfabetiskt baserat på de anställdas förnamn. Så här är indexeringsnycklar baserade på "namnkolumnen". Om du i så fall söker efter den senaste posten, “Zack, ”Du kan hoppa till mitten av tabellen och bestämma om vårt bidrag kommer före eller efter kolumnen.

Som du vet kommer det efter den mittersta raden, och du kan igen dela raderna efter mittenraden i hälften och göra en liknande jämförelse. På det här sättet behöver du inte korsa varje rad för att hitta den senaste 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 dataflöde och åtkomst kan bli med databasindexering.

Relaterad: 13 viktigaste SQL-kommandon som programmerare borde veta

Olika filorganisationsmetoder för databasindex

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

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

  • Sparse 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 File organisation: I den här filorganisationsmetoden bestämmer en hash-funktion platsen eller diskblocket där en post lagras.

Typer av databasindexering

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

  • Clustered Indexing
  • Icke-grupperad indexering
  • Flernivåindexering

1. Clustered Indexing

I klustrad indexering kan en enda fil lagra mer än två dataposter. Systemet håller faktiska data i grupperade indexeringar snarare än pekare. Att söka är kostnadseffektivt med klustrad indexering eftersom den lagrar alla relaterade data på samma plats.

Ett klusterindex använder beställda datafiler för att definiera sig själv. Att gå med i flera databastabeller är också mycket vanligt 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 klustrade 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 i tio olika avdelningar. I detta fall bör företaget skapa klusterindexering i sin DBMS för att indexera de anställda som arbetar i samma avdelning.

Varje kluster med anställda som arbetar i 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-klustrad indexering avser en typ av indexering där indexradernas ordning inte är densamma som hur originaldata lagras fysiskt. Istället pekar ett icke-grupperat index till datalagringen i databasen.

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

3. Flernivåindexering

Flernivåindexering 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öktangenter och datapekare. När databasens storlek ökar växer antalet index också.

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

Det är här flernivåindexering spelar in. Denna teknik bryter indexet på en nivå i flera mindre block. Efter att ha gått sönder blir blocket på den yttre nivån så liten 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 fragmentering av SQL-index. Inledningsvis ligger alla SQL-index fragmenteringsfria, men när du använder databasen (Infoga / Radera / Ändra data) kan det orsaka fragmentering.

Förutom fragmentering av databasen kan din databas också möta andra viktiga problem som databaskorruption. 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.

E-post
SQL Server-data blev skadad? Försök att återställa det med SQL Recovery Toolbox

Recovery Toolbox för SQL Server hjälper till att fixa skadade MDF-filer på en MS SQL Server för alla versioner.

Läs Nästa

Relaterade ämnen
  • Programmering
  • SQL
  • Dataanalys
  • databas
Om författaren
Zadhid A. Powell (12 artiklar publicerade)

Zadhid Powell är en datortekniker som gav upp kodningen för att börja skriva! Tillsammans är han en digital marknadsförare, teknikentusiast, SaaS-expert, läsare och en ivrig följare av programvarutrender. Ofta kan du hitta honom som gungar centrumklubbar med sin gitarr eller inspekterar havsbottensdykning.

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!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.