Indexering i DBMS: Vad är, typer av index med EXEMPEL
Vad är indexering?
Indexering är en datastrukturteknik som gör att du snabbt kan hämta poster från en databasfil. Ett Index är en liten tabell med bara två kolumner. Den första kolumnen innehåller en kopia av den primära eller kandidatnyckeln för en tabell. Dess andra kolumn innehåller en uppsättning av pekare för att hålla adressen till diskblocket där det specifika nyckelvärdet lagrades.
Ett index –
- Tar en sökknapp som indata
- Returnerar effektivt en samling matchande poster.
Typer av indexering i DBMS

Indexering i databasen definieras utifrån dess indexeringsattribut. Två huvudtyper av indexeringsmetoder är:
- Primär indexering
- Sekundär indexering
Primärt index i DBMS
Primary Index är en ordnad fil som har en fast längdstorlek med två fält. Det första fältet är samma som en primärnyckel och det andra fältet pekar på det specifika datablocket. I det primära indexet finns det alltid ett till ett förhållande mellan posterna i indextabellen.
Den primära indexeringen i DBMS är också ytterligare uppdelad i två typer.
- Tätt index
- Gles index
Tätt index
I ett tätt index skapas en post för varje söknyckel som värderas i databasen. Detta hjälper dig att söka snabbare men behöver mer utrymme för att lagra indexposter. I denna indexering innehåller metodposter söknyckelvärde och pekar på den verkliga posten på disken.
Gles index
Det är en indexpost som endast visas för några av värdena i filen. Sparse Index hjälper dig att lösa problemen med tät indexering DBMS. I denna metod för indexeringsteknik lagrar ett antal indexkolumner samma datablockadress, och när data behöver hämtas kommer blockadressen att hämtas.
Men sparse Index lagrar indexposter för endast vissa söknyckelvärden. Det behöver mindre utrymme, mindre underhållskostnader för insättning och raderingar, men det är långsammare jämfört med det täta indexet för att hitta poster.
Nedan är ett databasindex Exempel på Sparse Index
Sekundärt index i DBMS
Det sekundära indexet i DBMS kan genereras av ett fält som har ett unikt värde för varje post, och det bör vara en kandidatnyckel. Det är också känt som ett icke-klustrande index.
Denna databasindexeringsteknik på två nivåer används för att minska mappningsstorleken för den första nivån. För den första nivån väljs ett stort antal nummer på grund av detta; mappningsstorleken förblir alltid liten.
Sekundärt indexexempel
Låt oss förstå sekundär indexering med ett databasindexexempel:
I en bankkontodatabas lagras data sekventiellt av acc_no; du kanske vill hitta alla konton i en specifik filial till ABC-bank.
Här kan du ha ett sekundärt index i DBMS för varje söknyckel. Indexpost är en postpunkt till en hink som innehåller pekare till alla poster med deras specifika söknyckelvärde.
Clustering Index i DBMS
I ett klustrat index lagras själva posterna i Indexet och inte pekarna. Ibland skapas indexet på icke-primära nyckelkolumner som kanske inte är unika för varje post. I en sådan situation kan du gruppera två eller flera kolumner för att få de unika värdena och skapa ett index som kallas klusterindex. Detta hjälper dig också att identifiera posten snabbare.
Exempelvis:
Låt oss anta att ett företag rekryterade många anställda på olika avdelningar. I detta fall bör klustringsindexering i DBMS skapas för alla anställda som tillhör samma avd.
Det betraktas i ett enda kluster och indexpunkter pekar på klustret som helhet. Här är Avdelning _no en icke-unik nyckel.
Vad är Multilevel Index?
Multilevel Indexing in Databas skapas när ett primärt index inte får plats i minnet. I den här typen av indexeringsmetod kan du minska antalet diskåtkomster för att korta vilken post som helst och sparas på en disk som en sekventiell fil och skapa en gles bas på den filen.
B-trädindex
B-tree index är de mycket använda datastrukturerna för trädbaserad indexering i DBMS. Det är ett flernivåformat av trädbaserad indexering i DBMS-teknik som har balanserats binära sökträd. Alla bladnoder i B-trädet betecknar faktiska datapekare.
Dessutom är alla bladnoder sammanlänkade med en länklista, vilket tillåter ett B-träd att stödja både slumpmässig och sekventiell åtkomst.
- Lead noder måste ha mellan 2 och 4 värden.
- Varje väg från roten till bladet är för det mesta lika lång.
- Noder som inte är löv, förutom rotnoden, har mellan 3 och 5 barnnoder.
- Varje nod som inte är en rot eller ett blad har mellan n/2] och n barn.
Fördelar med indexering
Viktiga fördelar/fördelar med indexering är:
- Det hjälper dig att minska det totala antalet I/O-operationer som behövs för att hämta dessa data, så att du inte behöver komma åt en rad i databasen från en indexstruktur.
- Erbjuder snabbare sökning och hämtning av data till användare.
- Indexering hjälper dig också att minska tabellutrymmet eftersom du inte behöver länka till en rad i en tabell, eftersom det inte finns något behov av att lagra ROWID i Indexet. På så sätt kommer du att kunna minska bordsutrymmet.
- Du kan inte sortera data i leadnoderna eftersom värdet på primärnyckeln klassificerar den.
Nackdelar med indexering
Viktiga nackdelar/nackdelar med indexering är:
- För att utföra indexeringsdatabashanteringssystemet behöver du en primärnyckel på bordet med ett unikt värde.
- Du kan inte utföra några andra index i databasen på indexerad data.
- Du får inte partitionera en indexorganiserad tabell.
- SQL-indexering Minska prestanda i INSERT-, DELETE- och UPDATE-frågan.
Sammanfattning
- Indexering är en liten tabell som består av två kolumner.
- Två huvudtyper av indexeringsmetoder är 1) Primär indexering 2) Sekundär indexering.
- Primary Index är en ordnad fil som har en fast längdstorlek med två fält.
- Den primära indexeringen är också uppdelad i två typer: 1) tätt index 2) sparsamt index.
- I ett tätt index skapas en post för varje söknyckel som värderas i databasen.
- En sparsam indexeringsmetod hjälper dig att lösa problemen med tät indexering.
- Det sekundära indexet i DBMS är en indexeringsmetod vars söknyckel anger en ordning som skiljer sig från den sekventiella ordningen för filen.
- Clustering index definieras som en orderdatafil.
- Multilevel Indexing skapas när ett primärt index inte får plats i minnet.
- Den största fördelen med indexering är att det hjälper dig att minska det totala antalet I/O-operationer som behövs för att hämta dessa data.
- Den största nackdelen med att utföra indexeringsdatabashanteringssystemet, du behöver en primärnyckel på bordet med ett unikt värde.