Skillnad mellan B-Tree och Bitmap

B-träd och bitmapp

Det finns två typer av index som används i Oracle. Dessa är B-Tree och Bitmap. Dessa index används för prestanda tuning, vilket i själva verket gör att man letar efter poster och hämtar dem ganska snabbt. Indexfunktionerna skapar en post för alla värden som visas i de indexerade kolumnerna. B-Träd index är den typ som används av OLTP-system och som huvudsakligen implementeras som standard. Bitmapp, å andra sidan, kommer som ett mycket komprimerat indexformat som i de flesta fall används i datalager.

Bitmapp kan i allmänhet kallas indexeringsmetod, men vilka prestanda och lagringsbesparingar kan sökas. Dess användning är, som tidigare nämnts, främst i datalagringsmiljön. Anledningen till detta beror på att uppdateringarna av data inte är lika frekventa och ad hoc-frågorna finns mer i miljön. Vid genomförandet av Bitmap föredras låga kardinaldata. Bitmapp är det föredragna valet för kolumnartiklar som har låga alternativ som kön, som endast har 2 värden och är att föredra. Statiska data i lageret är också en bra egenskap för data som skulle vara utmärkt implementeras med hjälp av Bitmap. En annan egenskap hos Bitmap är en ström av bitar varigenom varje bit implementeras till ett kolumnvärde i en enda rad i ett bord.

Ett B-trädindex, å andra sidan, är ett index som skapas i kolumner som innehåller mycket unika värden. B-trädindexet har beställningar där varje post har ett söknyckelvärde och en pekare som hänvisar till en viss rad och värde. Om en server finner en matchande begränsning som hänför sig till det aktuella värdet, används pekaren för att hämta raden.

En av skillnaderna mellan de två är att det finns låg dubbelarbete och en hög co-cordiality i B-Tree medan motsatsen händer i Bitmap. Bitmapp har höga dupliceringsinstanser och låg hjärtlighet. Bitmappsindexet ses som fördelaktigt över B-Tree-index, eftersom det har tabeller som har miljontals rader eftersom de angivna kolumnerna har låg kardinalitet. Indexerna i Bitmap erbjuder därför en bättre prestanda i motsats till B-Tree indexerna.

B-träd verkar vara extremt snabba när en liten dataset samlas in, i de flesta fall bör data inte överstiga 10% av databasstorleken. Dessa två arbetar tillsammans när det finns många olika värden som är indexerade. Det är också unikt för B-Tree att flera index kan sammanfogas för att producera ett mycket effektivt program. Bitmap tenderar däremot att fungera bäst när det finns lägre indexerade värden för maximal effektivitet.

B-träd är dåliga när det gäller att leta efter större datasuppsättningar som överstiger 10% av delmängdsdata. Bitmap tar på sig denna utmaning för att leverera högkvalitativa resultat, eftersom det fungerar bättre när det finns få distinkta värden.

Om det finns många index i ett upptaget bord med B-Tree kan ett problem uppstå som en följd av små påföljder som införs vid införande av indexerad data eller om du behöver infoga och uppdatera indexerad data. Detta är inte ett problem med Bitmap, eftersom det är mycket effektivt att infoga och uppdatera värden, oavsett storlek som är aktuell.

Sammanfattning

B-Tree och Bitmap är två typer av index som används i Oracle
Bitmap är en metod för indexering med prestanda och lagringsbesparingar
B-Tree Index är ett index som skapas på kolumner som innehåller mycket unika värden
B-Tree fungerar bäst med många distinkta indexerade värden
Bitmapp fungerar bäst med många distinkta indexerade värden