Doporučená, 2022

Redakce Choice

Rozdíl mezi klastrovým a ne-klastrovaným indexem

Klastrovaný a neklastrovaný index jsou typy jednoúrovňového indexu řazení, kde klastrovaný index určuje, jak jsou data uložena v řádcích tabulky. Na druhou stranu index bez clusterů ukládá data na jednom místě a indexy jsou uloženy na jiném místě. Každá tabulka může mít navíc pouze jeden clusterovaný index. Jako proti, V případě non-klastrovaného indexu, tabulka může mít více ne-seskupených indexů.

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ý indexNon-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 tabulkuPouze jeden shlukovaný indexVíce indexovaných indexů
Přístup k datůmRychlejšíPomaleji ve srovnání s indexovaným indexem
Další místo na diskuNepotř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ů

  1. 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ů.
  2. 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í.
  3. 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í.

Top