Forskjell mellom B-Tree og Bitmap Forskjellen mellom

Anonim

B-Tree og Bitmap

Det finnes to typer indekser som brukes i Oracle. Dette er B-Tree og Bitmap. Disse indeksene brukes til ytelse tuning, som i virkeligheten ser etter poster og henter dem ganske fort. Indeksfunksjonene oppretter en oppføring for alle verdier som vises i indekserte kolonner. B-Tree indekser er typen som brukes av OLTP-systemer, og som i hovedsak implementeres som standard. Bitmap kommer derimot som et svært komprimert indeksformat som i de fleste tilfeller er ansatt i datalager.

Bitmap kan generelt henvises til som en metode for indeksering om hvilke ytelsesfordeler og lagringsbesparelser man kan søke etter. Dens bruk, som tidligere nevnt, er hovedsakelig i datalagringsmiljøet. Årsaken til dette er at oppdateringene av data ikke er like hyppige, og ad hoc-spørringer er mer i miljøet. Ved implementering av Bitmap foretrekkes lave kardinaldata. Bitmap er det foretrukne valget for kolonneelementer som har lave alternativer som kjønn, som kun har 2 verdier og foretrekkes. Statiske data i lageret er også en god egenskap for data som vil bli utført med Bitmap. Et annet kjennetegn ved Bitmap er en strøm av bits hvor hver bit blir implementert til en kolonnverdi i en enkelt rad av et bord.

En B-treindeks, derimot, er en indeks som er opprettet på kolonner som inneholder svært unike verdier. B-Tree-indeksen har oppføringer bestilt der hver oppføring har en søkenøkkelverdi og en peker som refererer til en gitt rad og verdi. I tilfelle en server finner en tilsvarende begrensning som relaterer til verdien i spørsmålet, blir pekeren distribuert for å hente raden.

En av forskjellene mellom de to er at det er lav duplisering og høy co-cordialitet i B-Tree mens motsatt skjer i Bitmap. Bitmap har høye dupliseringsinstanser og lav hjertelighet. Bitmap-indeksen ser ut til å være fordelaktig over B-Tree-indeksen, da den har tabeller som har millioner av rader som de angitte kolonnene har lav kardinalitet. Indeksene i Bitmap gir derfor en bedre ytelse i motsetning til B-Tree indeksene.

B-Trær ser ut til å være ekstremt raske når et lite datasett samles inn, i de fleste tilfeller bør dataene ikke overstige 10% av databasestørrelsen. Disse to arbeider sammen når det er mange forskjellige verdier som er indeksert. Det er også unikt for B-Tree at flere indekser kan fusjoneres for å produsere et meget effektivt program. Bitmap, derimot, har en tendens til å fungere best når det er lavere indekserte verdier for maksimal effektivitet.

B-trær er fattige når det gjelder å lete etter større datasett som overstiger 10% av delgruppedataene.Bitmap tar på seg denne utfordringen å levere høyverdige resultater, da det fungerer bedre når det er få forskjellige verdier.

Hvis det er mange indekser i et opptatt bord ved hjelp av B-Tree, kan det oppstå et problem som følge av små straffer pålagt ved innsetting av indekserte data eller i tilfelle du må sette inn og oppdatere indekserte data. Dette er ikke et problem med Bitmap, da det er svært effektivt å sette inn og oppdatere verdier, uansett størrelsen som er aktuelt.

Sammendrag

B-Tree og Bitmap er to typer indekser som brukes i Oracle

Bitmap er en metode for indeksering, og gir ytelsesfordeler og lagringsbesparelser

B-Tree-indeksen er en indeks som er opprettet på kolonner som inneholder svært unike verdier

B-Tree fungerer best med mange forskjellige indekserte verdier

Bitmap fungerer best med mange forskjellige indekserte verdier