B-puu ja bittikartta
Oraclessa käytetään kahta tyyppisiä indeksejä. Nämä ovat B-Tree ja Bitmap. Näitä indeksejä käytetään suorituskyvyn viritykseen, mikä käytännössä tekee tietueiden etsimisestä ja noutamisesta melko nopeaa. Hakemistofunktiot luo merkinnän kaikille indeksoiduissa sarakkeissa näkyville arvoille. B-Tree-indeksit ovat tyyppiä, jota OLTP-järjestelmät käyttävät ja jotka toteutetaan pääosin oletusasetuksina. Bittikartta puolestaan tulee erittäin pakattuun indeksimuotoon, jota käytetään useimmiten tietovarastoissa.
Bittikarttaan voidaan yleensä viitata indeksointimenetelmänä, vaikka mitä suorituskyvyn etuja ja tallennustilan säästöjä voidaan hakea. Sitä käytetään, kuten aiemmin todettiin, pääasiassa tietovarasto-ympäristössä. Syynä tähän on se, että tietojen päivitykset eivät ole niin usein ja tapauskohtaiset kyselyt ovat enemmän ympäristössä. Bittikartan toteuttamisessa edullinen on alhainen kardinaalitieto. Bittikartta on suositeltavampi valinta sarakekohteille, joissa on alhaiset vaihtoehdot, kuten sukupuoli, jolla on vain 2 arvoa ja jotka ovat parempia. Varaston staattinen tieto on myös hyvä ominaisuus tiedolle, joka toteutettaisiin erinomaisesti käyttämällä bitkarttaa. Toinen bittikartan ominaisuus on bittivirta, jolla kukin bitti toteutetaan sarakearvoksi taulukon yhdellä rivillä.
B-puun hakemisto puolestaan on hakemisto, joka luodaan sarakkeisiin, jotka sisältävät erittäin ainutlaatuisia arvoja. B-puuhakemistossa on merkinnät, joissa jokaisella merkinnällä on hakuavaimen arvo ja osoitin, joka viittaa annettuun riviin ja arvoon. Jos palvelin löytää vastaavan rajoituksen, joka liittyy kyseiseen arvoon, osoitin käytetään rivin noutamiseen.
Yksi eroista näiden kahden välillä on, että B-puussa on vähän päällekkäisyyksiä ja korkea yhteisjohtoisuus, kun taas bittikartassa tapahtuu päinvastoin. Bittikartassa on korkea kopiointitilanne ja alhainen johdonmukaisuus. Bittikartta-indeksin nähdään olevan edullinen verrattuna B-puu-indeksiin, koska siinä on taulukoita, joissa on miljoonia rivejä, koska määritellyillä sarakkeilla on alhainen kardinaalisuus. Bitmap-indeksit tarjoavat siis paremman suorituskyvyn kuin B-Tree-indeksit.
B-puut näyttävät olevan erittäin nopeita pienen tietojoukon keräämisen jälkeen, useimmissa tapauksissa datan ei pitäisi olla yli 10% tietokannan koosta. Nämä kaksi toimivat yhdessä, kun on olemassa paljon selkeitä arvoja, joista on indeksoitu. B-Puulle on ainutlaatuista myös se, että useita indeksejä voidaan yhdistää erittäin tehokkaan ohjelman tuottamiseksi. Bittikartta puolestaan pyrkii parhaiten toimimaan, kun indeksoidut arvot ovat alhaisimmat maksimaalisen tehokkuuden saavuttamiseksi.
B-puut ovat huonoja etsittäessä suurempia tietojoukkoja, jotka ylittävät 10% osajoukkotiedoista. Bittikartta ottaa vastaan tämän haasteen tuottaa korkealaatuisia tuloksia, koska se toimii paremmin, kun erillisiä arvoja on vähän.
Jos varatussa taulukossa on paljon indeksejä, joissa käytetään B-puuta, ongelma voi ilmetä pienten seuraamusten seurauksena, kun indeksoituja tietoja lisätään tai jos sinun on lisättävä ja päivitettävä indeksoituja tietoja. Tämä ei ole bittikartan ongelma, koska se on erittäin tehokas arvojen lisäämisessä ja päivittämisessä kyseessä olevasta koosta riippumatta.
Yhteenveto
B-puu ja bittikartta ovat kahta tyyppiä indeksejä, joita käytetään Oraclissa
Bittikartta on indeksointimenetelmä, joka tarjoaa suorituskyvyn etuja ja tallennussäästöjä
B-puuhakemisto on hakemisto, joka luodaan sarakkeisiin, jotka sisältävät erittäin ainutlaatuisia arvoja
B-puu toimii parhaiten monilla erillisillä indeksoiduilla arvoilla
Bittikartta toimii parhaiten monien erillisten indeksoitujen arvojen kanssa