Klastri ja mitte klastri indeksi erinevus

Cluster vs Cluster Index

Indeksid on igas andmebaasis väga olulised. Neid kasutatakse tabelitest andmete hankimise jõudluse parandamiseks. Need on loogiliselt ja füüsiliselt sõltumatud seotud tabelite andmetest. Seetõttu saab indekseid kukutada, uuesti luua ja uuesti luua, ilma et see mõjutaks alustabelite andmeid. Kui seotud tabeleid sisestatakse, värskendatakse ja kustutatakse, saab Oracle-server automaatselt säilitada oma indekseid ilma DBA-d kaasamata. Indeksitüüpe on mitu. Siin on mõned neist.

1. B-puu indeksid

2. Bitmap indeksid

3. Funktsioonipõhised indeksid

4. Tagurpidi võtmeindeksid

5. B-puu klastri indeksid

Mis on klastriväline indeks?

Ülaltoodud indeksitüüpide hulgast on järgnevad rühmituseta indeksid.

• B-puu indeks

• Bitmap register

• Funktsioonipõhine indeks

• Tagurpidi võtmeindeksid

B-puu indeksid on andmebaasides kõige laialdasemalt kasutatavad indeksitüübid. Kui andmebaasis antakse käsk CREATE INDEX, ilma tüüpi määramata, loob Oracle'i server b-puu indeksi. Kui konkreetsele veerule luuakse b-puu register, salvestab oraalserver veeru väärtused ja hoiab viidet tabeli tegelikule reale.

Bitmap-indeksid luuakse siis, kui veeru andmed pole eriti selektiivsed. See tähendab, et veeruandmed on madala kardinaalsusega. Need on spetsiaalselt loodud andmeladude jaoks ja ei ole hea kasutada bitmap-indekseid kõrgelt uuendatavatel või tehingutabelitel.

Funktsionaalsed indeksid tulevad Oracle 8i-st. Siin kasutatakse indekseeritud veerus funktsiooni. Seetõttu ei sorteerita funktsionaalses indeksis veeru andmeid tavapärasel viisil. See sorteerib veergude väärtused pärast funktsiooni rakendamist. Need on väga kasulikud, kui funktsiooni KAS valiku päringu sulgemiseks kasutatakse.

Pöördvõtmete indeksid on väga huvitavad indeksitüübid. Oletame, et veerg sisaldab palju unikaalseid stringi andmeid nagu 'cityA', 'cityB', 'cityC' jne. Kõikidel väärtustel on muster. Neli esimest 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.

Ülalnimetatud indeksitüüpideks on MITTEKLASTATUD indeksid. See tähendab, et indekseeritud andmeid hoitakse väljaspool tabelit ja hoitakse järjestatud viidet tabelile. 

Mis on rühmitatud indeks?

Rühmitatud indeksid on indeksite eritüüp. See salvestab andmeid vastavalt tabeli andmete füüsilise salvestamise viisile. Seega ei saa ühe tabeli jaoks olla palju rühmitatud indekseid. Ühel tabelil võib olla ainult üks rühmitatud register.

Mis vahe on rühmitatud ja mitte-rühmitatud indeksitel??

1. Tabelil võib olla ainult üks rühmitatud register, kuid ühes tabelis võib olla kuni 249 rühmitamata indeksit.

2. Rühmitatud register luuakse primaarse võtme loomisel automaatselt, kuid unikaalse võtme loomisel luuakse rühmitamata register.

3. Rühmitatud indeksi loogiline järjekord vastab tabeli andmete füüsilisele järjekorrale, kuid rühmitamata indeksites see ei vasta.