A klaszter és a nem klaszterindex közötti különbség

Anonim

Klaszter és nem cluster index

Az indexek nagyon fontosak bármely adatbázisban. Ezeket a táblázatok adatainak lekérdezésének javítására használják. Logikusan és fizikailag függetlenek a kapcsolódó táblázatok adataitól. Ezért az indexek lecsaphatnak, újjá lehetnek és újraépíthetők anélkül, hogy befolyásolnák az alaptáblák adatait. Az Oracle szerver automatikusan fenntarthatja indexjeit a DBA bevonása nélkül, amikor a kapcsolódó táblákat beillesztik, frissítik és törlik. Több indextípus létezik. Itt van néhány közülük.

1. B-fa indexek

2. Bitmap indexek

3. Funkcionális indexek

4. Fordított kulcs indexek

5. B-tree klaszter indexek

Mi a nem cluster index?

A fenti indextípusok közül a következők nem fürtözött indexek.

• B-tree index

• Bitmap index

• Függvényalapú index

• Fordított kulcsmutatók

A B-fa indexek az adatbázisok legelterjedtebb indextípusai. Ha a CREATE INDEX parancs kiadásra kerül az adatbázisban, egy típus megadása nélkül, az Oracle kiszolgáló létrehoz egy b-tree indexet. Amikor egy adott oszlopon létrehoz egy b-tree indexet, az oracle-kiszolgáló tárolja az oszlop értékeit, és folyamatosan hivatkozik a táblázat tényleges sorára.

A bitképmutatók akkor jönnek létre, ha az oszlopadatok nem nagyon szelektívek. Ez azt jelenti, hogy az oszlopadatok alacsony kardinalitást mutatnak. Ezeket kifejezetten az adattárházak számára tervezték, és nem ajánlott a bitmap mutatók használata a rendkívül frissíthető vagy tranzakciós táblákon.

Funkcionális indexek az Oracle 8i-ból származnak. Itt egy függvény szerepel az indexált oszlopban. Ezért funkcionális indexben az oszlopadatokat nem rendezik rendesen. Az oszlopok értékeit a függvény alkalmazása után rendezi. Ezek nagyon hasznosak, ha a kiválasztott lekérdezés WHERE bezárása funkciót használ.

A fordított kulcs indexek egy nagyon érdekes indextípus. Tegyük fel, hogy egy oszlopban számos olyan egyedi karakterlánc adatot tartalmaz, mint a "cityA", "cityB", "cityC" … stb. Az összes értéknek van egy mintája. Az első négy karakter azonos és a következő részek megváltoztak. Tehát amikor REVERSE kulcsmutatót hoz létre ezen az oszlopon, az Oracle vissza fogja fordítani a karakterláncot, és visszaállítja egy b-tree indexbe.

A fent említett indextípusok NON-CLUSTERED indexek. Ez azt jelenti, hogy az indexelt adatok az asztalon kívül vannak tárolva, és egy rendezett hivatkozás az asztalra kerül.

Mi a fürtözött index?

A fürtözött indexek egy speciális típusú indexek. Az adatok tárolása a táblázatok fizikai tárolásának módja szerint történik. Így egyetlen táblázathoz nem lehet több fürtözött index. Az egyik táblában csak egy fürtözött index szerepelhet.

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ázatban csak egy fürtözött index szerepelhet, de egy táblázatban akár 249 nem fürtözött index is lehet.

2. A fürtözött index automatikusan létrehozásra kerül, ha elsődleges kulcsot hoz létre, de létrehoz egy nem fürtözött indexet, amikor egyedi kulcsot hoz létre.

3. A fürtözött index logikai sorrendje megegyezik a táblázatos adatok fizikai sorrendjével, de a nem fürtözött indexekben nem.