Indexování v DBMS: Co je to, typy indexů s PŘÍKLADY
Co je indexování?
Indexování je technika datové struktury, která umožňuje rychle získat záznamy z databázového souboru. Index je malá tabulka, která má pouze dva sloupce. První sloupec obsahuje kopii primárního nebo kandidátského klíče tabulky. Jeho druhý sloupec obsahuje množinu ukazatele pro uchování adresy bloku disku, kde je tato konkrétní hodnota klíče uložena.
index -
- Jako vstup použije vyhledávací klíč
- Efektivně vrací kolekci odpovídajících záznamů.
Typy indexování v DBMS
Indexování v databázi je definováno na základě atributů indexování. Dva hlavní typy metod indexování jsou:
- Primární indexování
- Sekundární indexování
Primární index v DBMS
Primární index je uspořádaný soubor s pevnou délkou se dvěma poli. První pole je stejné jako primární klíč a druhé pole ukazuje na tento konkrétní datový blok. V primárním rejstříku je mezi položkami v rejstříkové tabulce vždy vztah jedna ku jedné.
Primární indexování v DBMS se dále dělí na dva typy.
- Hustý index
- Řídký index
Hustý index
V hustém indexu je vytvořen záznam pro každý vyhledávací klíč, který je v databázi hodnocen. To vám pomůže rychleji vyhledávat, ale vyžaduje více místa pro ukládání indexových záznamů. V tomto indexování obsahují záznamy metody hodnotu vyhledávacího klíče a ukazují na skutečný záznam na disku.
Řídký index
Je to indexový záznam, který se objevuje pouze pro některé hodnoty v souboru. Sparse Index vám pomůže vyřešit problémy s hustým indexováním v DBMS. V této metodě techniky indexování je v řadě indexových sloupců uložena stejná adresa bloku dat, a když je potřeba data načíst, adresa bloku se načte.
Řídký index však ukládá záznamy indexu pouze pro některé hodnoty vyhledávacího klíče. Potřebuje méně místa, menší nároky na údržbu pro vkládání a mazání, ale je pomalejší ve srovnání s hustým indexem pro vyhledávání záznamů.
Níže je uveden databázový index Příklad řídkého indexu
Sekundární index v DBMS
Sekundární index v DBMS může být generován polem, které má pro každý záznam jedinečnou hodnotu, a mělo by to být kandidátský klíč. Je také známý jako neshlukující index.
Tato dvouúrovňová technika indexování databáze se používá ke snížení velikosti mapování první úrovně. Pro první úroveň je kvůli tomu vybrán velký rozsah čísel; velikost mapování zůstává vždy malá.
Příklad sekundárního indexu
Pojďme pochopit sekundární indexování s příkladem indexu databáze:
V databázi bankovních účtů jsou data ukládána postupně prostřednictvím acc_no; možná budete chtít najít všechny účty v konkrétní pobočce banky ABC.
Zde můžete mít sekundární index v DBMS pro každý vyhledávací klíč. Indexový záznam je záznamový bod do segmentu, který obsahuje ukazatele na všechny záznamy s jejich specifickou hodnotou vyhledávacího klíče.
Clustering Index v DBMS
V seskupeném indexu jsou v indexu uloženy samotné záznamy, nikoli ukazatele. Někdy je index vytvořen na neprimárních klíčových sloupcích, které nemusí být jedinečné pro každý záznam. V takové situaci můžete seskupit dva nebo více sloupců, abyste získali jedinečné hodnoty, a vytvořit index, který se nazývá seskupený index. To vám také pomůže rychleji identifikovat záznam.
Příklad:
Předpokládejme, že společnost přijala mnoho zaměstnanců v různých odděleních. V tomto případě by mělo být indexování clusterů v DBMS vytvořeno pro všechny zaměstnance, kteří patří do stejného oddělení.
Je uvažován v jednom shluku a indexové body ukazují na shluk jako celek. Zde je Oddělení _no nejedinečný klíč.
Co je víceúrovňový index?
Víceúrovňové indexování v Databáze se vytvoří, když se primární index nevejde do paměti. V tomto typu metody indexování můžete snížit počet přístupů na disk, abyste zkrátili jakýkoli záznam a uchovávali na disku jako sekvenční soubor a vytvořili pro tento soubor řídkou základnu.
Index B-stromu
B-tree index je široce používaná datová struktura pro stromové indexování v DBMS. Jedná se o víceúrovňový formát indexování založeného na stromech v technice DBMS, který je vyvážený binární vyhledávací stromy. Všechny listové uzly stromu B znamenají ukazatele skutečných dat.
Kromě toho jsou všechny listové uzly propojeny seznamem odkazů, což umožňuje stromu B podporovat náhodný i sekvenční přístup.
- Lead uzly musí mít 2 až 4 hodnoty.
- Každá cesta od kořene k listu je většinou stejně dlouhá.
- Nelistové uzly kromě kořenového uzlu mají 3 až 5 dětských uzlů.
- Každý uzel, který není kořenem nebo listem, má mezi n/2] a n potomky.
Výhody indexování
Důležité výhody/výhody indexování jsou:
- Pomáhá vám snížit celkový počet I/O operací potřebných k načtení těchto dat, takže nemusíte přistupovat k řádku v databázi ze struktury indexu.
- Nabízí uživatelům rychlejší vyhledávání a získávání dat.
- Indexování vám také pomáhá zmenšit tabulkový prostor, protože se nemusíte propojovat s řádkem v tabulce, protože není potřeba ukládat ROWID do indexu. Takto budete moci zmenšit tabulkový prostor.
- Data v hlavních uzlech nemůžete třídit tak, jak je klasifikuje hodnota primárního klíče.
Nevýhody indexování
Důležité nevýhody/nevýhody indexování jsou:
- Chcete-li provést systém správy indexování databází, potřebujete primární klíč na tabulce s jedinečnou hodnotou.
- Na indexovaných datech nemůžete v databázi provádět žádné další indexy.
- Nemáte povoleno rozdělovat tabulku uspořádanou podle indexu.
- Indexování SQL Snížení výkonu v dotazech INSERT, DELETE a UPDATE.
Shrnutí
- Indexování je malá tabulka, která se skládá ze dvou sloupců.
- Dva hlavní typy metod indexování jsou 1) Primární indexování 2) Sekundární indexování.
- Primární index je uspořádaný soubor s pevnou délkou se dvěma poli.
- Primární indexování se také dále dělí na dva typy 1) Hustý index 2) Sparse Index.
- V hustém indexu je vytvořen záznam pro každý vyhledávací klíč, který je v databázi hodnocen.
- Metoda řídkého indexování vám pomůže vyřešit problémy hustého indexování.
- Sekundární index v DBMS je metoda indexování, jejíž vyhledávací klíč určuje pořadí odlišné od sekvenčního pořadí souboru.
- Clustering index je definován jako soubor s daty objednávky.
- Víceúrovňové indexování se vytvoří, když se primární index nevejde do paměti.
- Největší výhodou indexování je, že vám pomáhá snížit celkový počet I/O operací potřebných k načtení těchto dat.
- Největší nevýhodou provádění systému správy indexování databází je, že potřebujete primární klíč na stole s jedinečnou hodnotou.