Kobar vs mitteklastriindeks
Indeksid on igas andmebaasis väga olulised. Neid kasutatakse tabelitest andmete toomise toimivuse parandamiseks. Need on loogiliselt ja füüsiliselt sõltumatud seotud tabelite andmetest. Seetõttu saab indekseid tühistada, uuesti luua ja uuesti üles ehitada, ilma et see mõjutaks põhitabelite andmeid. Oracle'i server saab oma indekseid automaatselt säilitada ilma DBA-d kaasamata, kui seotud tabeleid sisestatakse, värskendatakse ja kustutatakse. Indeksitüüpe on mitu. Siin on mõned neist.
1. B-puu indeksid
2. Bitmap indeksid
3. Funktsioonipõhised indeksid
4. Pöördklahviga indeksid
5. B-puu klastri indeksid
Mis on mitteklastriindeks?
Ül altoodud indeksitüüpidest on järgmised rühmitamata indeksid.
• B-puu indeks
• Bitmapi indeks
• Funktsioonipõhine indeks
• Pöördklahviga indeksid
B-puu indeksid on kõige laialdasem alt kasutatav andmebaaside indekstüüp. Kui andmebaasis antakse välja käsk CREATE INDEX, ilma tüüpi määramata, loob Oracle'i server b-puu indeksi. Kui kindlale veerule luuakse b-puu indeks, salvestab Oracle server veeru väärtused ja säilitab viite tabeli tegelikule reale.
Bitmap indeksid luuakse siis, kui veeruandmed ei ole väga selektiivsed. See tähendab, et veeru andmetel on madal kardinaalsus. Need on spetsiaalselt loodud andmeladude jaoks ja ei ole hea kasutada bitmap-indekseid väga värskendatavates või tehingutabelites.
Funktsionaalsed indeksid tulevad Oracle 8i-st. Siin kasutatakse indekseeritud veerus funktsiooni. Seetõttu ei sorteerita funktsionaalses indeksis veergude andmeid tavapärasel viisil. See sorteerib veergude väärtused pärast funktsiooni rakendamist. Need on väga kasulikud, kui kasutatakse valikupäringu WHERE sulgemisfunktsiooni.
Tagurpidi võtmega indeksid on väga huvitav indeksitüüp. Oletame, et veerg sisaldab palju unikaalseid stringiandmeid, nagu 'cityA', 'cityB', 'cityC' jne. Kõigil väärtustel on muster. Esimesed neli märki on samad ja järgmised osad on muudetud. Nii et kui selles veerus luuakse võtmeindeks REVERSE, pöörab Oracle stringi ümber ja taastab selle b-puu indeksis.
Eelnimetatud indeksitüübid on MITTE KLASTREERITUD indeksid. See tähendab, et indekseeritud andmed salvestatakse väljaspool tabelit ja sorteeritud viide tabelile säilitatakse.
Mis on rühmitatud indeks?
Kobardatud indeksid on eritüüpi indeksid. See salvestab andmed vastav alt tabeliandmete füüsilise salvestamise viisile. Seega ei saa ühe tabeli jaoks olla palju rühmitatud indekseid. Ühel tabelis võib olla ainult üks rühmitatud indeks.
Mis vahe on rühmitatud ja rühmitamata indeksite vahel?
1. Tabelil võib olla ainult üks rühmitatud indeks, kuid ühes tabelis võib olla kuni 249 rühmitamata indeksit.
2. Klasterdatud indeks luuakse automaatselt primaarvõtme loomisel, kuid unikaalse võtme loomisel luuakse rühmitamata indeks.
3. Kobaraindeksi loogiline järjestus ühtib tabeliandmete füüsilise järjekorraga, kuid rühmitamata indeksites mitte.