Index databáze: Úvod pro začátečníky

Index databáze: Úvod pro začátečníky

„Databázový index“ označuje speciální druh datové struktury, která urychluje načítání záznamů z databázové tabulky. Databázové indexy zajišťují, že můžete efektivně vyhledávat a přistupovat k datům v databázové tabulce, aniž byste museli prohledávat každý řádek při každém zpracování databázového dotazu.





Rejstřík databáze lze přirovnat k rejstříku knihy. Indexy v databázích vás nasměrují na záznam, který v databázi hledáte, stejně jako indexová stránka knihy ukazuje na požadované téma nebo kapitolu.





Přestože jsou databázové indexy nezbytné pro rychlé a efektivní vyhledávání a přístup k datům, zabírají další místo pro zápis a paměť.





Co je to index?

Indexy databáze jsou speciální vyhledávací tabulky skládající se ze dvou sloupců. První sloupec je klíč pro vyhledávání a druhý je ukazatel dat. Klíče jsou hodnoty, které chcete prohledávat a načítat z tabulky databáze, a ukazatel nebo reference ukládá adresu bloku disku do databáze pro konkrétní klíč hledání. Pole klíčů jsou tříděna tak, aby urychlovala operaci načítání dat pro všechny vaše dotazy.

Proč používat indexování databáze?

Ukážu vám zde zjednodušeně databázové indexy. Předpokládejme, že máte databázovou tabulku osmi zaměstnanců pracujících ve společnosti a chcete vyhledat informace o posledním záznamu v tabulce. Chcete -li najít předchozí položku, musíte prohledat každý řádek databáze.



Předpokládejme však, že jste tabulku seřadili abecedně podle křestního jména zaměstnanců. Zde jsou tedy klíče indexování založeny na sloupci názvu. V takovém případě, pokud prohledáte poslední položku, Zacku , můžete přeskočit doprostřed tabulky a rozhodnout, zda náš záznam přijde před nebo za sloupec.

Jak víte, přijde za prostřední řadou a můžete opět rozdělit řádky za střední řadu na polovinu a provést podobné srovnání. Tímto způsobem nemusíte procházet každý řádek, abyste našli poslední položku.





Pokud by společnost měla 1 000 000 zaměstnanců a poslední záznam by byl Zack, museli byste hledat 50 000 řádků, abyste našli jeho jméno. Zatímco s abecedním indexováním to můžete udělat v několika krocích. Nyní si můžete představit, jak mnohem rychlejší vyhledávání a přístup k datům může být s indexováním databáze.

Příbuzný: 13 Nejdůležitější příkazy SQL, které by měl vědět každý programátor





Různé metody organizace souborů pro databázové indexy

Indexování závisí do značné míry na použitém mechanismu organizace souborů. Při indexování databáze k ukládání dat se obvykle používají dva typy metod organizace souborů. Jsou diskutovány níže:

1. Objednaný indexový soubor: Toto je tradiční způsob ukládání indexových dat. V této metodě jsou hodnoty klíčů seřazeny v určitém pořadí. Data v uspořádaném indexovém souboru lze uložit dvěma způsoby.

  • Řídký index: V tomto typu indexování je pro každý záznam vytvořena položka indexu.
  • Hustý index: Při hustém indexování je pro některé záznamy vytvořena položka indexu. Chcete -li najít záznam v této metodě, musíte nejprve najít nejvýznamnější hodnotu klíče hledání z položek rejstříku, které jsou menší nebo rovny hodnotě klíče hledání, kterou hledáte.

2. Hash organizace souborů: V této metodě organizace souborů určuje hashovací funkce umístění nebo blok disku, kde je záznam uložen.

Typy indexování databáze

Obecně existují tři způsoby indexování databáze. Oni jsou:

  • Klastrované indexování
  • Neklastrované indexování
  • Víceúrovňové indexování

1. Klastrované indexování

V klastrovaném indexování může jeden jediný soubor ukládat více než dva datové záznamy. Systém uchovává skutečná data v seskupeném indexování, nikoli v ukazatelích. Hledání je nákladově efektivní s klastrovaným indexováním, protože ukládá všechna související data na stejné místo.

modrá obrazovka vadný hardware poškozená stránka

Klastrový index používá k definování sebe uspořádané datové soubory. Také spojování více databázových tabulek je u tohoto typu indexování velmi běžné.

Je také možné vytvořit index na základě ne-primárních sloupců, které nejsou jedinečné pro každý klíč. Při takových příležitostech kombinuje více sloupců a vytváří jedinečné hodnoty klíčů pro klastrované indexy.

Stručně řečeno, klastrové indexy jsou tam, kde jsou podobné datové typy seskupeny a jsou pro ně vytvářeny indexy.

Příklad: Předpokládejme, že existuje společnost, která má více než 1 000 zaměstnanců v 10 různých odděleních. V takovém případě by společnost měla ve svých DBMS vytvořit klastrové indexování k indexaci zaměstnanců, kteří pracují ve stejném oddělení.

Každý klastr se zaměstnanci pracujícími ve stejném oddělení bude definován jako jeden klastr a ukazatele dat v indexech budou odkazovat na klastr jako celek.

Příbuzný: Co jsou cizí klíče v databázích SQL?

2. Neklastrované indexování

Neklastrované indexování odkazuje na typ indexování, kde pořadí řádků indexu není stejné jako to, jak jsou fyzicky uložena původní data. Místo toho seskupený index ukazuje na úložiště dat v databázi.

Příklad: Neklastrované indexování je podobné knize, která má stránku s uspořádaným obsahem. Zde je datovým ukazatelem nebo referencí stránka seřazeného obsahu, která je seřazena podle abecedy, a skutečná data jsou informace na stránkách knihy. Stránka s obsahem neukládá informace na stránkách knihy v pořadí.

3. Víceúrovňové indexování

Víceúrovňové indexování se používá, když je počet indexů velmi vysoký a primární index nelze uložit do hlavní paměti. Jak možná víte, databázové indexy obsahují vyhledávací klíče a ukazatele dat. Když se velikost databáze zvyšuje, roste i počet indexů.

Aby však byla zajištěna rychlá operace hledání, je nutné uchovávat v paměti záznamy rejstříku. Pokud se používá index na jedné úrovni, když je číslo indexu vysoké, je nepravděpodobné, že by se tento index uložil do paměti kvůli jeho velikosti a více přístupům.

Zde vstupuje do hry víceúrovňové indexování. Tato technika rozděluje jednoúrovňový index na několik menších bloků. Po rozpadu se blok vnější úrovně stane tak malým, že jej lze snadno uložit do hlavní paměti.

Příbuzný: Jak se připojit k databázi MySQL pomocí Javy

Co je fragmentace indexu SQL?

Pokud se žádné pořadí stránek indexu neshoduje s fyzickým pořadím v datovém souboru, způsobí fragmentaci indexu SQL. Zpočátku jsou všechny indexy SQL bez fragmentace, ale jak opakovaně používáte databázi (Vložit/Odstranit/Změnit data), může to způsobit fragmentaci.

Kromě fragmentace databáze může vaše databáze také čelit dalším důležitým problémům, jako je poškození databáze. Může to vést ke ztrátě dat a poškození webových stránek. Pokud se svým webem obchodujete, může to pro vás být smrtelná rána.

Podíl Podíl tweet E-mailem Došlo k poškození dat serveru SQL? Zkuste to obnovit pomocí nástroje SQL Recovery Toolbox

Nástroj Recovery Toolbox pro SQL Server pomáhá opravit poškozené soubory MDF serveru MS SQL Server pro všechny verze.

co je to wps tlačítko na mém routeru
Číst dále Související témata
  • Programování
  • SQL
  • Analýza dat
  • databáze
O autorovi Zadhid A. Powell(16 článků zveřejněno)

Zadhid Powell je počítačový inženýr, který se vzdal kódování, aby mohl začít psát! Vedle toho je digitálním obchodníkem, technologickým nadšencem, odborníkem na SaaS, čtenářem a horlivým sledovatelem softwarových trendů. Často ho můžete najít houpat se v centru klubů s kytarou nebo kontrolovat potápění na oceánském dně.

Více od Zadhida A. Powella

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru