B-puu ja bitmap
Oracle'is kasutatakse kahte tüüpi indekseid. Need on B-puu ja bitmap. Neid indekseid kasutatakse jõudluse häälestamiseks, mis tegelikult muudab dokumentide otsimise ja nende hankimise üsna kiireks. Indeksi funktsioonid loovad kirje kõigi väärtuste jaoks, mis kuvatakse indekseeritud veergudes. B-puu indeksid on tüüp, mida kasutavad OLTP süsteemid ja mida rakendatakse peamiselt vaikimisi. Bitmap seevastu on tugevalt tihendatud indeksvorming, mida enamasti kasutatakse andmeladudes.
Bitmap-i võib üldiselt nimetada indekseerimismeetodiks, kuid seda, milliseid jõudluse eeliseid ja salvestussäästu on võimalik otsida. Nagu varem öeldud, kasutatakse seda peamiselt andmete ladustamise keskkonnas. Selle põhjuseks on asjaolu, et andmete värskendusi ei tehta nii sageli ja ad hoc päringuid on keskkonnas rohkem. Bitmapi rakendamisel eelistatakse madalaid kardinaalseid andmeid. Bittmap on eelistatud valik veeruüksuste jaoks, millel on madalad valikud, näiteks sugu, millel on ainult 2 väärtust ja mis on eelistatud. Statsionaarsed andmed laos on ka andmete hea omadus, mida saaks suurepäraselt rakendada Bitmap abil. Teine Bitmap'i omadus on bittide voog, mille abil iga bit realiseeritakse veeru väärtuseks tabeli ühes reas.
B-puu indeks seevastu on register, mis luuakse veergudel, mis sisaldavad väga unikaalseid väärtusi. B-puu registris on järjestatud kirjed, kus igal kirjal on otsinguklahvi väärtus ja osuti, mis viitab antud reale ja väärtusele. Juhul, kui server leiab vastava väärtusega seotud sobituspiirangu, kasutatakse kursorit rea toomiseks.
Üks nende kahe erinevustest on see, et B-puus on madal dubleerimine ja kõrge kaastundlikkus, samas kui Bitmapis toimub vastupidine. Bitmapil on palju dubleerimist ja madal südamlikkus. Bitmap-indeksit peetakse B-puu indeksiga võrreldes eeliseks, kuna sellel on tabelid, millel on miljonid read, kuna määratletud veergudel on madal kardinaalsus. Seetõttu pakuvad Bitmap indeksid paremat jõudlust kui B-puu indeksid.
B-puud tunduvad väikese andmekogumi kogumisel eriti kiired, enamasti ei tohiks andmed ületada 10% andmebaasi suurusest. Need kaks töötavad koos, kui indekseeritud väärtusi on palju. B-puule on omane ka see, et väga efektiivse programmi saamiseks saab mitu indeksit ühendada. Bitmap seevastu kipub kõige paremini toimima, kui maksimaalse efektiivsuse saavutamiseks on madalamad indekseeritud väärtused.
B-puud on kehvad, kui on vaja otsida suuremaid andmehulka, mis ületab 10% alamhulga andmetest. Bitmap võtab selle väljakutse vastu kvaliteetsete tulemuste saamiseks, kuna see töötab paremini, kui erinevaid väärtusi on vähe.
Kui hõivatud tabelis on palju indekseid, mis kasutavad B-puud, võib probleem tekkida indekseeritud andmete sisestamisel rakendatavate väikeste karistuste tõttu või juhul, kui peate indekseeritud andmeid sisestama ja värskendama. See ei ole Bitmapi probleem, kuna see on väärtuste sisestamisel ja värskendamisel väga efektiivne, olenemata sellest, mis suurus on kõne all.
Kokkuvõte
B-Tree ja Bitmap on Oracle'is kasutatavad kahte tüüpi indeksid
Bitmap on indekseerimise meetod, mis pakub jõudluse eeliseid ja salvestussäästu
B-puu register on register, mis luuakse veergudel, mis sisaldavad väga unikaalseid väärtusi
B-puu töötab kõige paremini paljude eraldiseisvate indekseeritud väärtustega
Bitmap töötab kõige paremini paljude eraldiseisvate indekseeritud väärtustega