Forskel mellem B-Tree og Bitmap Forskel mellem
B-Træ og Bitmap
Der er to typer indekser, der anvendes i Oracle. Disse er B-Tree og Bitmap. Disse indekser bruges til præstationsindstilling, hvilket i virkeligheden gør det lettere at finde poster og hente dem ret hurtigt. Indeksfunktionerne opretter en post for alle værdier, der vises i de indekserede kolonner. B-Tree indekser er den type, der bruges af OLTP-systemer, og som hovedsagelig implementeres som standard. Bitmap kommer derimod som et stærkt komprimeret indeksformat, som i de fleste tilfælde er ansat i datalagre.
Bitmap kan generelt henvises til som en metode til indeksering, selv om hvilke præstationsfordele og opsparingsbesparelser der kan søges. Anvendelsen er som tidligere nævnt hovedsagelig i datalagringsmiljøet. Årsagen til dette skyldes, at opdateringerne af data ikke er så hyppige, og ad hoc-forespørgsler er mere i miljøet. Ved implementeringen af Bitmap foretrækkes lave kardinaldata. Bitmap er det foretrukne valg for kolonneelementer, der har lave muligheder som køn, som kun har 2 værdier og foretrækkes. Statiske data i lageret er også en god karakteristik af data, der ville blive udført med Bitmap. En anden karakteristik for Bitmap er en strøm af bits, hvor hver bit implementeres til en kolonneværdi i en enkelt række i en tabel.
Et B-træ indeks er på den anden side et indeks, der er oprettet på kolonner, der indeholder meget unikke værdier. B-Tree-indekset har poster bestilt, hvor hver indtastning har en søge nøgle værdi og en pointer, der refererer til en given række og værdi. I tilfælde af at en server finder en tilsvarende begrænsning, der vedrører den pågældende værdi, bliver pegeren implementeret for at hente rækken.
En af forskellene mellem de to er, at der er lav dobbeltarbejde og høj co-cordialitet i B-Tree, mens det modsatte sker i Bitmap. Bitmap har høje duplikationsinstanser og lav hjertelighed. Bitmap-indekset ses for at være fordelagtigt over B-Tree-indekset, da det har tabeller, der har millioner af rækker, da de angivne kolonner har lav kardinalitet. Indekserne i Bitmap giver derfor en bedre ydeevne i modsætning til B-Tree indekserne.
B-træer ser ud til at være ekstremt hurtige, når et lille datasæt indsamles, i de fleste tilfælde bør dataene ikke overstige 10% af databasestørrelsen. Disse to arbejder sammen, når der er mange forskellige værdier, som er indekseret. Det er også unikt for B-Tree, at flere indekser kan fusioneres for at producere et meget effektivt program. Bitmap har derimod en tendens til at fungere bedst, når der er lavere indekserede værdier for maksimal effektivitet.
B-træer er dårlige, når det gælder udkig efter større datasæt, der overstiger 10% af undergruppens data.Bitmap tager denne udfordring op til at levere resultater af høj kvalitet, da det fungerer bedre, når der er få forskellige værdier.
Hvis der er mange indekser i et travlt bord ved hjælp af B-Tree, kan der opstå et problem som følge af små sanktioner, der pålægges, når du indsætter indekserede data eller i tilfælde af at du skal indsætte og opdatere indekserede data. Dette er ikke et problem med Bitmap, da det er meget effektivt at indsætte og ajourføre værdier, uanset størrelsen der er tale om.
Sammenfatning
B-Træ og Bitmap er to typer indekser, der anvendes i Oracle
Bitmap er en metode til indeksering, der giver ydeevne og lagringsbesparelser
B-Tree indeks er et indeks, der er oprettet på kolonner, der indeholder meget unikke værdier
B-Tree virker bedst med mange forskellige indekserede værdier
Bitmap fungerer bedst med mange forskellige indekserede værdier