Klasterio ir ne klasterio indeksas
Indeksai yra labai svarbūs bet kurioje duomenų bazėje. Jie naudojami siekiant pagerinti duomenų gavimo iš lentelių našumą. Jie logiškai ir fiziškai nepriklauso nuo susijusių lentelių duomenų. Todėl indeksus galima išmesti, atkurti ir atkurti nepažeidžiant bazinių lentelių duomenų. „Oracle“serveris gali automatiškai palaikyti savo indeksus, nedalyvaudamas DBA, kai įterpiamos, atnaujinamos ir ištrinamos susijusios lentelės. Yra keletas indeksų tipų. Štai keletas iš jų.
1. B medžio indeksai
2. Bitmap indeksai
3. Funkcijomis pagrįsti indeksai
4. Atvirkštinio klavišo indeksai
5. B medžio klasterio indeksai
Kas yra ne klasterinis indeksas?
Iš aukščiau pateiktų indeksų tipų toliau pateikiami nesugrupuoti indeksai.
• B-medžio indeksas
• Bitmap indeksas
• Funkcijomis pagrįstas indeksas
• Atvirkštinio klavišo indeksai
B-medžio indeksai yra plačiausiai naudojamas indeksų tipas duomenų bazių. Jei duomenų bazėje pateikiama komanda CREATE INDEX, nenurodant tipo, Oracle serveris sukuria b-medžio indeksą. Kai konkrečiame stulpelyje sukuriamas b-medžio indeksas, „Oracle“serveris išsaugo stulpelio reikšmes ir išlaiko nuorodą į tikrąją lentelės eilutę.
Bitmap indeksai sukuriami, kai stulpelių duomenys nėra labai selektyvūs. Tai reiškia, kad stulpelių duomenys turi mažą kardinalumą. Jie yra specialiai sukurti duomenų saugykloms, todėl netinka naudoti bitmap indeksus labai atnaujinamose arba operacijų lentelėse.
Funkciniai indeksai pateikiami iš „Oracle 8i“. Čia funkcija naudojama indeksuotame stulpelyje. Todėl funkciniame indekse stulpelių duomenys nėra rūšiuojami įprastu būdu. Pritaikius funkciją, jis surūšiuoja stulpelių reikšmes. Tai labai naudinga, kai naudojama funkcija WHERE, kai uždaroma pasirinkimo užklausa.
Atvirkštinio klavišo indeksai yra labai įdomus indekso tipas. Tarkime, kad stulpelyje yra daug unikalių eilučių duomenų, pvz., „cityA“, „cityB“, „cityC“ir kt. Visos vertės turi šabloną. Pirmieji keturi simboliai yra vienodi, o kitos dalys yra pakeistos. Taigi, kai šiame stulpelyje sukuriamas REVERSE rakto indeksas, „Oracle“pakeis eilutę ir atkurs ją b-medžio indekse.
Aukščiau minėti indeksų tipai yra NE KLASTERIUOTI indeksai. Tai reiškia, kad indeksuoti duomenys saugomi už lentelės ribų ir išsaugoma surūšiuota lentelės nuoroda.
Kas yra sugrupuotas indeksas?
Sugrupuoti indeksai yra ypatingas indeksų tipas. Jis saugo duomenis pagal lentelės duomenų fizinio saugojimo būdą. Taigi, vienoje lentelėje negali būti daug sugrupuotų indeksų. Vienoje lentelėje gali būti tik vienas sugrupuotas indeksas.
Kuo skiriasi sugrupuoti ir nesugrupuoti indeksai?
1. Lentelėje gali būti tik vienas sugrupuotas indeksas, tačiau vienoje lentelėje gali būti iki 249 nesugrupuotų indeksų.
2. Sugrupuotas indeksas automatiškai sukuriamas, kai sukuriamas pirminis raktas, bet nesugrupuotas indeksas sukuriamas, kai sukuriamas unikalus raktas.
3. Klasterinio indekso loginė tvarka sutampa su fizine lentelės duomenų tvarka, bet nesugrupuotuose indeksuose – ne.