Klaszter vs nem klaszter index
Az indexek nagyon fontosak minden adatbázisban. A táblákból származó adatok lekérésének teljesítményének javítására szolgálnak. Logikailag és fizikailag függetlenek a kapcsolódó táblák adataitól. Ezért az indexek eldobhatók, újra létrehozhatók és újraépíthetők anélkül, hogy az alaptáblázatok adatait befolyásolnák. Az Oracle szerver automatikusan karbantarthatja indexeit DBA bevonása nélkül, amikor a kapcsolódó táblákat beillesztik, frissítik és törlik. Számos indextípus létezik. Íme néhány közülük.
1. B-fa indexek
2. Bittérképes indexek
3. Funkció alapú indexek
4. Fordított kulcsú indexek
5. B-fa klaszter indexei
Mi az a nem klaszterindex?
A fenti indextípusok közül a következőkben nem fürtözött indexek találhatók.
• B-fa index
• Bittérkép index
• Funkció alapú index
• Fordított kulcsú indexek
A B-fa indexek az adatbázisok legszélesebb körben használt indextípusai. Ha a CREATE INDEX parancs ki van adva az adatbázisban, típus megadása nélkül, az Oracle szerver létrehoz egy b-tree indexet. Amikor egy b-tree indexet hoznak létre egy adott oszlopon, az Oracle szerver tárolja az oszlop értékeit, és megőrzi a hivatkozást a táblázat aktuális sorára.
A bittérképes indexek akkor jönnek létre, ha az oszlopadatok nem túl szelektívek. Ez azt jelenti, hogy az oszlopadatok alacsony kardinalitásúak. Ezeket kifejezetten adattárházakhoz tervezték, és nem jó bittérképes indexeket használni erősen frissíthető vagy tranzakciós táblákon.
A funkcionális indexek az Oracle 8i-től érkeznek. Itt egy függvényt használunk az indexelt oszlopban. Ezért egy funkcionális indexben az oszlopadatok nem a szokásos módon vannak rendezve. A függvény alkalmazása után rendezi az oszlopok értékeit. Ezek nagyon hasznosak, ha a kiválasztási lekérdezés WHERE bezárása függvényt használ.
A fordított kulcsú indexek nagyon érdekes indextípusok. Tegyük fel, hogy egy oszlop sok egyedi karakterlánc-adatot tartalmaz, például „cityA”, „cityB”, „cityC” stb. Minden értéknek van mintája. Az első négy karakter azonos, a következő részek megváltoztak. Tehát amikor ebben az oszlopban létrehozza a REVERSE kulcsindexet, az Oracle megfordítja a karakterláncot, és visszaállítja egy b-tree indexbe.
A fent említett indextípusok NEM KLUSTEREZETT indexek. Ez azt jelenti, hogy az indexelt adatok a táblán kívül kerülnek tárolásra, és a táblára vonatkozó rendezett hivatkozás megmarad.
Mi az a fürtözött index?
A fürtözött indexek az indexek speciális típusai. Az adatokat a táblaadatok fizikai tárolásának módja szerint tárolja. Tehát nem lehet sok fürtözött index egy táblához. Egy táblának csak egy fürtözött indexe lehet.
Mi a különbség a fürtözött és a nem fürtözött indexek között?
1. A táblának csak egy fürtözött indexe lehet, de egy táblában legfeljebb 249 nem fürtözött index lehet.
2. A fürtözött index automatikusan létrejön az elsődleges kulcs létrehozásakor, de egy nem fürtözött index az egyedi kulcs létrehozásakor.
3. A fürtözött index logikai sorrendje megegyezik a táblázat adatainak fizikai sorrendjével, de a nem fürtözött indexekben nem.