B-stablo i bitmap

Anonim

B-stablo i bitmap

Postoje dvije vrste indeksa koje se koriste u Oracleu. To su B-Tree i Bitmap. Ovi se indeksi upotrebljavaju za ugađanje performansi, što u stvari čini potragu za zapisima i njihovo preuzimanje vrlo brzo. Funkcije indeksa stvaraju unos za sve vrijednosti koje se pojavljuju u indeksiranim stupcima. Indeksi B-stabla su tip koji koriste OLTP sustavi i uglavnom se primjenjuju prema zadanim postavkama. Bitmapa, s druge strane, dolazi kao visoko komprimirani format indeksa koji se u većini slučajeva koristi u skladištima podataka.

Bitmap se općenito može nazvati metodom indeksiranja, iako se mogu postići uštede izvedbe i uštede pohrane. Njegova je upotreba, kao što je ranije navedeno, uglavnom u okruženju skladištenja podataka. Razlog tome je zbog toga što ažuriranja podataka nisu česta i ad hoc upiti više su u okruženju. U primjeni Bitmapa poželjni su niski kardinalni podaci. Bitmapa je preferirani izbor za stavke stupaca s niskim opcijama kao što su spol, koji će imati samo 2 vrijednosti i koji su preferirani. Statični podaci u skladištu također su dobra osobina podataka koji bi se izvrsno implementirali pomoću Bitmapa. Druga karakteristika Bitmapa je tok bita, pri čemu se svaki bit implementira u vrijednost stupca u jednom retku tablice.

Indeks B-stablo, s druge strane, indeks koji se stvara na stupovima koji sadrže vrlo jedinstvene vrijednosti. Indeks B-stabla ima unesene narudžbe gdje svaki unos ima vrijednost ključa za pretraživanje i pokazivač koji se odnosi na zadani red i vrijednost. U slučaju da poslužitelj pronađe podudarno ograničenje koje se odnosi na dotičnu vrijednost, pokazivač se distribuira za dohvaćanje reda.

Jedna od razlika između ta dva je ta da postoji malo dupliciranje i velika srdačnost u B-stavu, dok se suprotno događa u Bitmapu. Bitmap ima visoke slučajeve dupliciranja i nisku srdačnost. Indeks Bitmapa smatra se povoljnima za indeks B-Tree, jer ima tablice s milijunima redaka, budući da navedeni stupci imaju nisku kardinalnost. Indeksi u Bitmapu, stoga, nude bolju izvedbu, za razliku od indeksa B-Tree.

B-Trees Čini se da je iznimno brz kada se prikuplja mali skup podataka, u većini slučajeva, podaci ne smiju prelaziti 10% veličine baze podataka. Ta dva djeluju zajedno kada postoje mnoge odvojene vrijednosti koje su indeksirane. Također je jedinstveno za B-Tree da se nekoliko indeksa može spojiti kako bi se stvorio vrlo učinkovit program. Bitmapa, s druge strane, ima tendenciju da radi najbolje kada postoje niže indeksirane vrijednosti za maksimalnu učinkovitost.

B-stabla su loša kada se radi o potrazi za većim podskupovima podataka koji premašuju 10% podataka podskupa. Bitmap preuzima ovaj izazov za isporuku kvalitetnih rezultata, jer bolje funkcionira kada postoji nekoliko različitih vrijednosti.

Ako postoje brojni indeksi u zauzetoj tablici koristeći B-Tree, problem može nastati kao rezultat malih kazni koje se nameću prilikom umetanja indeksiranih podataka ili u slučaju da trebate umetnuti i ažurirati indeksirane podatke. Ovo nije problem s Bitmapom jer je vrlo učinkovit u umetanju i ažuriranju vrijednosti, bez obzira na veličinu koja je u pitanju.

Sažetak

B-Tree i Bitmap su dvije vrste indeksa koji se koriste u Oracleu Bitmap je metoda indeksiranja koja nudi prednosti i uštede pohrane Indeks B-Tree je indeks koji se stvara na stupovima koji sadrže vrlo jedinstvene vrijednosti B-Tree najbolje funkcionira s mnogo različitih indeksiranih vrijednosti Bitmapa najbolje funkcionira s mnogo različitih indeksiranih vrijednosti