Klastrovaný vs nekumulovaný index: kľúčové rozdiely oproti príkladu

Obsah:

Anonim

Čo je to index?

Register je kľúč zostavený z jedného alebo viacerých stĺpcov v databáze, ktorý urýchľuje načítanie riadkov z tabuľky alebo zobrazenia. Tento kľúč pomáha databáze ako Oracle, SQL Server, MySQL atď. Rýchlo nájsť riadok spojený s kľúčovými hodnotami.

Dva typy indexov sú:

  • Klastrovaný index
  • Nezhlukovaný index

V tomto návode sa dozviete:

  • Čo je to index?
  • Čo je to klastrovaný index?
  • Čo je to klastrovaný index?
  • Charakteristika zoskupeného indexu
  • Charakteristika nekupovaných indexov
  • Príklad zoskupeného indexu
  • Príklad nezoskupeného indexu
  • Rozdiely medzi klastrovaným indexom a neklastrovaným indexom
  • Výhody zoskupeného indexu
  • Výhody klastrovaného indexu
  • Nevýhody zoskupeného indexu
  • Nevýhody klastrovaného indexu

Čo je to klastrovaný index?

Klastrový index je typ indexu, ktorý triedi dátové riadky v tabuľke podľa ich kľúčových hodnôt. V databáze je iba jeden zoskupený index na tabuľku.

Klastrovaný index definuje poradie, v ktorom sú údaje uložené v tabuľke a ktoré je možné triediť iba jedným spôsobom. Pre každú tabuľku teda môže existovať iba jeden klastrovaný index. V RDBMS primárny kľúč zvyčajne umožňuje vytvoriť zoskupený index na základe tohto konkrétneho stĺpca.

Čo je to klastrovaný index?

Nezhlukovaný index ukladá údaje na jednom mieste a indexy na inom mieste. Register obsahuje ukazovatele na umiestnenie týchto údajov. Jedna tabuľka môže mať veľa nekupovaných indexov, pretože index v nekupovanom indexe je uložený na rôznych miestach.

Napríklad kniha môže mať viac ako jeden index, jeden na začiatku, ktorý zobrazuje obsah jednotky knihy, zatiaľ čo druhý index zobrazuje index výrazov v abecednom poradí.

V neoradiacom poli tabuľky je definovaný index bez klastrovania. Tento typ metódy indexovania vám pomôže zvýšiť výkonnosť dotazov, ktoré používajú kľúče, ktoré nie sú priradené ako primárny kľúč. Nezhlukovaný index umožňuje pridať jedinečný kľúč pre tabuľku.

KĽÚČOVÝ ROZDIEL

  • Klastrový index je typ indexu, ktorý zoraďuje riadky údajov v tabuľke podľa ich kľúčových hodnôt, zatiaľ čo index bez klastrov ukladá údaje na jednom mieste a indexy na inom mieste.
  • Klastrovaný index ukladá dátové stránky v listových uzloch indexu, zatiaľ čo metóda bez klastrovaného indexu nikdy neukladá dátové stránky v listových uzloch indexu.
  • Klastrový index nevyžaduje ďalšie miesto na disku, zatiaľ čo index bez klastrov vyžaduje ďalšie miesto na disku.
  • Klastrový index ponúka rýchlejší prístup k údajom, na druhej strane je klastrovaný index pomalší.

Charakteristika zoskupeného indexu

  • Predvolené a triedené ukladanie údajov
  • Pre index použite iba jeden alebo viac ako jeden stĺpec
  • Pomáha vám ukladať údaje a indexovať spoločne
  • Fragmentácia
  • Operácie
  • Klastrované skenovanie indexu a hľadanie indexu
  • Kľúčové vyhľadávanie

Charakteristika nekupovaných indexov

  • Ukladajte iba kľúčové hodnoty
  • Ukazovatele na haldy / zoskupené riadky indexu
  • Umožňuje sekundárny prístup k údajom
  • Premostenie k údajom
  • Činnosti indexového skenovania a indexového vyhľadávania
  • Môžete vytvoriť nezhrnutý index pre tabuľku alebo zobrazenie
  • Každý riadok indexu v indexe bez klastrov ukladá hodnotu kľúča bez klastrov a vyhľadávač riadkov

Príklad zoskupeného indexu

V nasledujúcom príklade je SalesOrderDetailID zoskupený index. Vzorový dopyt na načítanie údajov

SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6

Príklad nezoskupeného indexu

V príklade uvedenom nižšie sa index non-clusted vytvorí na OrderQty a ProductID nasledujúcim spôsobom

CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)

Nasledujúci dotaz sa získa rýchlejšie v porovnaní s klastrovaným indexom.

SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714

Rozdiely medzi klastrovaným indexom a neklastrovaným indexom

Parametre Zoskupené Neskupené
Použiť pre Môžete zoradiť záznamy a uložiť zoskupený index fyzicky do pamäte podľa objednávky. Nezhlukovaný index vám pomôže vytvoriť logické poradie pre údajové riadky a používa ukazovatele pre súbory fyzických údajov.
Metóda skladovania Umožňuje vám ukladať dátové stránky v listových uzloch indexu. Táto metóda indexovania nikdy neukladá dátové stránky v listových uzloch indexu.
Veľkosť Veľkosť zoskupeného indexu je dosť veľká. Veľkosť zoskupeného indexu je v porovnaní so zoskupeným indexom malá.
Prístup k údajom Rýchlejšie Pomalšie v porovnaní so zoskupeným indexom
Dodatočné miesto na disku Nevyžaduje sa Vyžaduje sa na samostatné uloženie indexu
Typ kľúča Podľa predvoleného nastavenia sú primárne kľúče tabuľky zoskupený index. Môže byť použitý s jedinečným obmedzením v tabuľke, ktoré slúži ako zložený kľúč.
Hlavná prednosť Klastrovaný index môže zlepšiť výkonnosť vyhľadávania údajov. Mal by byť vytvorený na stĺpcoch, ktoré sa používajú v spojeniach.

Výhody zoskupeného indexu

Výhody / výhody zoskupeného indexu sú:

  • Klastrované indexy sú ideálnou voľbou pre rozsah alebo zoskupenie podľa maximálnych, minimálnych a početných dotazov
  • V tomto type indexu môže vyhľadávanie ísť priamo do konkrétneho bodu v dátach, aby ste odtiaľ mohli pokračovať v postupnom čítaní.
  • Metóda klastrovaného indexu používa lokalizačný mechanizmus na vyhľadanie položky indexu na začiatku rozsahu.
  • Je to efektívna metóda pre vyhľadávanie rozsahov, keď sa požaduje rozsah kľúčových hodnôt vyhľadávania.
  • Pomáha vám minimalizovať prenosy stránok a maximalizovať zásahy do pamäte cache.

Výhody klastrovaného indexu

Výhody použitia klastrovaného indexu sú:

  • Non-clusteringový index vám pomáha rýchlo načítať údaje z databázovej tabuľky.
  • Pomáha vám vyhnúť sa režijným nákladom spojeným s klastrovaným indexom
  • Tabuľka môže mať v RDBMS viac nekupovaných indexov. Môže sa teda použiť na vytvorenie viac ako jedného indexu.

Nevýhody zoskupeného indexu

Tu sú nevýhody / nevýhody použitia zoskupeného indexu:

  • Veľa vložiek v nesekvenčnom poradí
  • Klastrovaný index vytvára veľa konštantných rozdelení stránok, ktoré zahŕňajú dátové stránky aj indexové stránky.
  • Práca navyše pre SQL pre vloženie, aktualizáciu a odstránenie.
  • Pri zmene polí v zoskupenom indexe aktualizácia záznamov trvá dlhšie.
  • Listové uzly väčšinou obsahujú dátové stránky v zoskupenom indexe.

Nevýhody klastrovaného indexu

Tu sú nevýhody / nevýhody používania nekupovaného indexu:

  • Nezoskupený index vám pomáha ukladať údaje v logickom poradí, ale neumožňuje fyzické radenie údajov.
  • Proces vyhľadávania na nekupovanom indexe sa stáva nákladným.
  • Pri každej aktualizácii klastrového kľúča sa vyžaduje zodpovedajúca aktualizácia klastrovaného indexu, pretože klastrový kľúč sa ukladá.