
Indexy jsou v podstatě nezbytné pro účinné vymáhání omezení integrity a efektivního zpracování dotazů a transakcí. Ty jsou vytvořeny na tabulkách a pohledech. Například indexy používané v knihách, které uživateli umožňují rychlý přístup k obsahu knihy, podobně máme indexy na SQL.
Srovnávací graf
Základ pro srovnání | Klastrovaný index | Non-clusterovaný index |
---|---|---|
Základní | Určuje pořadí ukládání řádků v tabulce jako celku. | Určuje pořadí ukládání řádků v tabulce pomocí samostatné fyzické struktury. |
Počet povolených indexů na tabulku | Pouze jeden shlukovaný index | Více indexovaných indexů |
Přístup k datům | Rychlejší | Pomaleji ve srovnání s indexovaným indexem |
Další místo na disku | Nepotřebný | Požaduje se, aby se indexy ukládaly odděleně |
Definice klastrového indexu
Klastrovaný index se v zásadě používá k uspořádání řádků v tabulce. Tabulka může mít pouze jeden seskupený index, protože řádky v tabulce lze třídit pouze v jednom pořadí, ale existují způsoby, jak vytvořit složený sdružený index . Sloupce jsou zahrnuty v indexovaném clusteru a logické nebo indexované pořadí hodnot klíčů je stejné jako fyzicky uložené pořadí odpovídajících řádků. Pokud pro data není klastrovaný index, je uložen v haldě .
Záznam, který přistupuje k haldě, je časově velmi náročný, kde je každá položka v tabulce naskenována pro přístup k požadovaným datům. Při skenování tabulky nebylo možné zjistit, zda je k dispozici více shod. Tato metoda byla tedy velmi neefektivní.
Při použití klastrovaného indexu je přístup k datům rychlejší a systematičtější tam, kde je tabulka organizována v určitém pořadí. Je definován v objednávkovém poli tabulky. Jeho vyhledávací klíč určuje postupné uspořádání souboru nebo tabulky. Klastrovaný index se automaticky vytvoří, když je pro tabulku definován primární klíč .
Definice non-clusterového indexu
Index bez clusterů ukládá data na jednom místě a indexy na jiném místě a index by měl ukazatele na umístění úložiště dat. Tabulka může mít více indexů bez clusterů, protože index v indexu bez klastrů je uložen na jiném místě. Například, kniha může mít více než jeden index, jeden na začátku, který ukazuje obsah knihy moudrá jednotka a další index na konci, který ukazuje index termínů v abecedním pořadí.
Je definován v poli non-ordering v tabulce. Index bez clusterů by mohl zvýšit výkon dotazů, které používají jiné klíče než primární klíče. Pokud je pro tabulku definován jedinečný klíč, automaticky se vytvoří index bez clusterů.
Klíčové rozdíly mezi klastrem a indexem bez clusterů
- Počet clusterovaných indexů, které může mít tabulka, je pouze jeden. Vzhledem k tomu, že tabulka může mít více nezdrojených indexů.
- Klastrovaný index je rychlejší než index bez clusterů, protože index bez clusterů musí odkazovat zpět na základní tabulku. Naopak v případě seskupeného indexu tomu tak není.
- V indexu bez klastrů je index uložen na samostatném místě, které vyžaduje další úložný prostor. Naopak klastrovaný index ukládá data základní tabulky ve stejném fyzickém pořadí jako logické pořadí indexu, takže nevyžaduje další úložný prostor.
Závěr
Klastrovaný index je způsob ukládání dat do řádků tabulky v určitém pořadí. Takže když jsou vyhledávaná požadovaná data, ovlivní se pouze odpovídající řádek, který obsahuje data a je reprezentován jako výstup. Na druhé straně, ne-klastrovaný index je umístěn ve fyzicky oddělené struktuře, která odkazuje na základní data, když je prohledáván. Struktura bez klastrů může mít jiné pořadí řazení.