Cluster vs Non Cluster Index
Indexy jsou velmi důležité v jakékoli databázi. Používají se ke zlepšení výkonu načítání dat z tabulek. Jsou logicky a fyzicky nezávislé na datech v přidružených tabulkách. Proto mohou být indexy přetaženy, znovu vytvořeny a znovu vytvořeny, aniž by to ovlivnilo data základních tabulek. Server Oracle může automaticky udržovat své indexy bez zapojení DBA, když jsou související tabulky vloženy, aktualizovány a odstraněny. Existuje několik typů indexů. Tady jsou některé z nich.
1. Indexy B-stromu
2. Indexy bitmap
3. Funkční indexy
4. Indexy reverzních klíčů
5. Indexy clusterů B-stromu
Co je Non - Cluster Index?
Z výše uvedených typů indexů se jedná o indexy bez klastru.
• Index B-stromu
• Bitmapový index
• Funkční index
• Indexy zpětného klíče
Indexy B-stromů jsou nejčastěji používaným typem databází. Pokud je v databázi vydán příkaz CREATE INDEX, aniž by byl zadán typ, vytvoří server Oracle index b-tree. Když je v určitém sloupci vytvořen index b-stromu, server oracle uloží hodnoty sloupce a uchová odkaz na skutečný řádek tabulky..
Bitmapové indexy se vytvářejí, když data sloupců nejsou příliš selektivní. To znamená, že data sloupců mají nízkou kardinálnost. Jsou speciálně navrženy pro datové sklady a není vhodné používat bitmapové indexy ve vysoce aktualizovatelných nebo transakčních tabulkách..
Funkční indexy pocházejí z Oracle 8i. Zde se funkce používá v indexovaném sloupci. Proto ve funkčním indexu nejsou sloupcová data tříděna normálním způsobem. Po použití funkce třídí hodnoty sloupců. Jsou to velmi užitečné, když se při výběru funkce WHERE používá funkce.
Indexy s obrácenými klíči jsou velmi zajímavým typem indexu. Předpokládejme, že sloupec obsahuje mnoho jedinečných dat řetězců, jako jsou 'cityA', 'cityB', 'cityC'… atd. Všechny hodnoty mají vzor. První čtyři znaky jsou stejné a další části se mění. Když je tedy v tomto sloupci vytvořen index klíčů REVERSE, Oracle převrátí řetězec a obnoví jej v indexu stromů b.
Výše uvedené typy indexů jsou NEKLAUSTOVANÉ indexy. To znamená, že indexovaná data se ukládají mimo tabulku a udržuje se tříděný odkaz na tabulku.
Co je to klastrovaný index?
Klastrované indexy jsou zvláštním typem indexů. Ukládá data podle způsobu fyzického ukládání dat tabulky. Pro jednu tabulku tedy nemůže být mnoho seskupených indexů. Jedna tabulka může mít pouze jeden seskupený index.
Jaký je rozdíl mezi klastrovými a neklastrovanými indexy? 1. Tabulka může mít pouze jeden klastrovaný index, ale v jedné tabulce může být až 249 neskupovaných indexů. 2. Klastrovaný index je automaticky vytvořen, když je vytvořen primární klíč, ale ne-klastrovaný index je vytvořen, když je vytvořen jedinečný klíč.. 3. Logické pořadí seskupeného indexu se shoduje s fyzickým uspořádáním dat tabulky, ale v nesloučených indexech. |