Co je to index?
Index je klíč vytvořený z jednoho nebo více sloupců v databázi, který zrychluje načítání řádků z tabulky nebo zobrazení. Tento klíč pomáhá databázi jako Oracle, SQL Server, MySQL atd. Rychle najít řádek spojený s hodnotami klíče.
Dva typy indexů jsou:
- Klastrovaný index
- Klastrovaný index
V tomto výukovém programu , naučíte se:
- Co je to index?
- Co je to seskupený index?
- Co je to klastrovaný index?
- Charakteristika seskupeného indexu
- Charakteristika seskupeného indexu
- Příklad seskupeného indexu
- Příklad nespojeného indexu seskupený index
- Rozdíly mezi seskupeným indexem a neoskupeným indexem
- Výhody seskupeného indexu
- Výhody neseskupeného indexu
- Nevýhody seskupeného indexu Index
- Nevýhody indexu bez shluků
Co je to clusterovaný index?
Clusterový index je typ indexu, který třídí datové řádky v tabulce o jejich klíčových hodnotách. V databázi existuje pouze jeden seskupený index na tabulku.
Klastrovaný index definuje pořadí, ve kterém jsou data uložena v tabulce, která lze třídit pouze jedním způsobem. Pro každou tabulku tedy může existovat pouze jeden seskupený index. V RDBMS obvykle primární klíč umožňuje vytvořit seskupený index založený na tomto konkrétním sloupci.
Co je to nehrnutý index?
Nehrnutý index ukládá data na jednom místě a indexy na jiném místě. Index obsahuje ukazatele na umístění těchto dat. Jedna tabulka může mít mnoho neseskupených indexů, protože index ve seskupeném indexu je uložen na různých místech.
Například kniha může mít více než jeden index, jeden na začátku, který zobrazuje obsah jednotky knihy, zatímco druhý index zobrazuje index termínů v abecedním pořadí.
V neuspořádaném poli tabulky je definován index bez shlukování. Tento typ metody indexování vám pomůže zlepšit výkon dotazů, které používají klíče, které nejsou přiřazeny jako primární klíč. Nezeskupený index umožňuje přidat jedinečný klíč pro tabulku.
KLÍČOVÁ ROZDÍLNOST
- Clusterový index je typ indexu, který třídí datové řádky v tabulce podle jejich klíčových hodnot, zatímco index bez seskupení ukládá data na jednom místě a indexy na jiném místě.
- Klastrovaný index ukládá datové stránky v listových uzlech indexu, zatímco metoda bez klastrovaného indexu nikdy neukládá datové stránky v listových uzlech indexu.
- Clusterový index nevyžaduje další místo na disku, zatímco index bez seskupení vyžaduje další místo na disku.
- Index clusteru nabízí rychlejší přístup k datům, naopak index bez seskupení je pomalejší.
Charakteristika seskupeného indexu
- Výchozí a tříděné úložiště dat
- Pro index použijte pouze jeden nebo více sloupců
- Pomáhá můžete ukládat data a indexovat společně
- fragmentace
- operace
- seskupené skenování indexu a hledání indexu
- vyhledávání klíčů
Charakteristika neseskupených indexů
- Pouze ukládání klíčových hodnot
- Ukazatele na řádky haldy / seskupeného indexu
- Umožňuje sekundární data přístup
- Most k datům
- Operace indexového skenování a hledání indexu
- Můžete vytvořit seskupený index pro tabulku nebo zobrazení
- Každý řádek indexu v nehrajícím indexu ukládá hodnotu nehrnutého klíče a vyhledávač řádků
Příklad seskupeného indexu
V níže uvedeném příkladu je SalesOrderDetailID seskupený index. Ukázkový dotaz k načtení dat
SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6
Příklad seskupeného indexu
V níže uvedeném příkladu je vytvořen index bez seskupení pro OrderQty a ProductID takto
CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)
Následující dotaz se načte rychleji ve srovnání s klastrovaným indexem.
SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714
Rozdíly mezi klastry Index a index bez klastrů
Parametry | Seskupeno | Neseskupeno |
---|---|---|
Použít pro | Záznamy můžete seřadit a fyzicky uložit seskupený index do paměti podle pořadí . | Nehrnutý index vám pomůže vytvořit logické pořadí pro datové řádky a použije ukazatele pro fyzické datové soubory. |
Metoda ukládání | Umožňuje ukládat datové stránky v listových uzlech indexu. | Tato metoda indexování nikdy neukládá datové stránky v listových uzlech indexu. |
Velikost | Velikost seskupeného indexu je poměrně velká. | Velikost seskupeného indexu je ve srovnání s seskupeným indexem malá. |
Přístup k datům | Rychlejší | Pomalejší ve srovnání s klastrovaným indexem |
Další místo na disku | Není požadováno | Je vyžadováno samostatné uložení indexu |
Typ klíče | Ve výchozím nastavení jsou primární klíče tabulky seskupený index. | Lze jej použít s jedinečným omezením v tabulce, které funguje jako složený klíč. |
Hlavní funkce | Seskupený index může zlepšit výkon načítání dat. | Mělo by být vytvořeno na sloupcích, které se používají ve spojeních. |
Výhody seskupeného indexu
Výhody / výhody seskupeného indexu jsou:
- Klastrované indexy jsou ideální volbou pro rozsah nebo seskupení pomocí dotazů typu max, min, počet typů
- V tomto typu indexu může vyhledávání přejít přímo do konkrétního bodu v datech, takže odtamtud může číst postupně.
- Metoda seskupeného indexu používá mechanismus umístění k vyhledání položky indexu na začátku rozsahu.
- Jedná se o efektivní metodu pro vyhledávání rozsahu, když je požadována řada hodnot klíčových klíčů.
- Pomůže vám minimalizovat přenosy stránek a maximalizovat zásahy do mezipaměti.
Výhody indexu bez seskupení
Výhody použití indexu bez seskupení jsou:
- Index bez seskupení vám pomůže k rychlému načtení dat z databázové tabulky.
- Pomůže vám vyhnout se režijním nákladům spojeným s klastrovaným indexem
- Tabulka může mít v RDBMS více nehrnutých indexů. Lze jej tedy použít k vytvoření více než jednoho indexu.
Nevýhody seskupeného indexu
Zde jsou nevýhody / nevýhody používání seskupeného indexu:
- Spousta vložek v nesekvenčních order
- Klastrovaný index vytváří spoustu konstantních rozdělení stránek, které zahrnuje datové stránky i stránky indexu.
- Extra práce pro SQL pro vkládání, aktualizace a mazání.
- Seskupený index trvá déle, než se aktualizují záznamy, když se změní pole v seskupeném indexu.
- Listové uzly většinou obsahují datové stránky v seskupeném indexu.
Nevýhody indexu bez seskupení
Zde jsou nevýhody / nevýhody používání indexu bez seskupení: