B-boom en bitmap
Er zijn twee soorten indexen die worden gebruikt in Oracle. Dit zijn B-Tree en Bitmap. Deze indexen worden gebruikt voor het afstemmen van prestaties, wat in feite het zoeken naar records en het snel ophalen ervan maakt. De indexfuncties maken een invoer voor alle waarden die in de geïndexeerde kolommen voorkomen. B-Tree-indices zijn van het type dat door OLTP-systemen wordt gebruikt en die hoofdzakelijk standaard worden geïmplementeerd. Bitmap komt daarentegen als een sterk gecomprimeerd indexformaat dat in de meeste gevallen wordt gebruikt in datawarehouses.
Bitmap kan in het algemeen worden aangeduid als een methode van indexeren, maar u kunt zoeken naar prestatie-voordelen en opslagbesparingen. Het gebruik ervan, zoals eerder vermeld, vindt voornamelijk plaats in de data warehousing-omgeving. De reden hiervoor is dat de updates van gegevens niet zo frequent zijn en dat ad hoc-zoekopdrachten meer in de omgeving voorkomen. Bij de implementatie van Bitmap hebben lage kardinale gegevens de voorkeur. Bitmap heeft de voorkeur voor kolomitems met lage opties zoals geslacht, die alleen twee waarden hebben en de voorkeur hebben. Statische gegevens in het magazijn zijn ook een goed kenmerk van gegevens die uitstekend kunnen worden geïmplementeerd met Bitmap. Een ander kenmerk van Bitmap is een stroom van bits waarbij elk bit wordt geïmplementeerd naar een kolomwaarde in een enkele rij van een tabel.
Een B-tree-index is daarentegen een index die is gemaakt op kolommen met zeer unieke waarden. De B-Tree-index heeft ingegeven orders waarbij elke invoer een zoeksleutelwaarde heeft en een aanwijzer die naar een gegeven rij en waarde verwijst. In het geval dat een server een aanpassingsbeperking vindt die betrekking heeft op de betreffende waarde, wordt de aanwijzer geïmplementeerd om de rij op te halen.
Een van de verschillen tussen de twee is dat er weinig duplicatie is en een hoge co-cordialiteit in B-Tree, terwijl het tegenovergestelde gebeurt in Bitmap. Bitmap heeft hoge duplicatie-exemplaren en lage cordialiteit. De Bitmap-index blijkt voordelig te zijn ten opzichte van de B-Tree-index, omdat deze tabellen heeft met miljoenen rijen omdat de opgegeven kolommen een lage kardinaliteit hebben. De indexen in Bitmap bieden daarom betere prestaties in tegenstelling tot de B-Tree-indexen.
B-Trees lijken extreem snel te zijn wanneer een kleine gegevensset wordt verzameld, in de meeste gevallen zouden de gegevens niet groter mogen zijn dan 10% van de databasegrootte. Deze twee werken samen wanneer er veel verschillende waarden zijn die geïndexeerd zijn. Het is ook uniek voor B-Tree dat verschillende indexen kunnen worden samengevoegd om een zeer efficiënt programma te produceren. Bitmap daarentegen werkt het best wanneer er lagere geïndexeerde waarden zijn voor maximale efficiëntie.
B-trees zijn slecht als het gaat om het zoeken naar grotere datasub-subsets die meer dan 10% van de subset-data overschrijden. Bitmap neemt deze uitdaging aan om hoogwaardige resultaten te leveren, omdat het beter werkt wanneer er weinig verschillende waarden zijn.
Als de B-Tree veel indexen bevat in een bezette tabel, kan er een probleem ontstaan als gevolg van kleine boetes die worden opgelegd bij het invoegen van geïndexeerde gegevens of als u geïndexeerde gegevens moet invoegen en bijwerken. Dit is geen probleem met Bitmap, want het is zeer efficiënt in het invoegen en bijwerken van waarden, ongeacht de grootte die in kwestie.
Samenvatting
B-Tree en Bitmap zijn twee soorten indexen die worden gebruikt in Oracle
Bitmap is een indexeringsmethode die prestatievoordelen en opslagbesparingen biedt
B-Tree-index is een index die is gemaakt op kolommen met zeer unieke waarden
B-Tree werkt het beste met veel verschillende geïndexeerde waarden
Bitmap werkt het beste met veel verschillende geïndexeerde waarden