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

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

I když jsou databázové indexy nezbytné pro rychlé a efektivní vyhledávání a přístup k datům, zabírají další zápisy a paměťový prostor.

Co je to index?

Indexy databáze jsou speciální vyhledávací tabulky skládající se ze dvou sloupců. První sloupec je vyhledávací klíč a druhý datový ukazatel. Klíče jsou hodnoty, které chcete prohledat a načíst z vaší databázové tabulky, a ukazatel nebo odkaz uloží adresu bloku disku v databázi pro tento konkrétní vyhledávací klíč. Klíčová pole jsou tříděna tak, aby urychlila operaci načítání dat pro všechny vaše dotazy.

instagram viewer

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

Zde vám zjednodušeně ukážu databázové indexy. Předpokládejme, že máte databázovou tabulku s osmi zaměstnanci pracujícími ve společnosti a chcete vyhledat informace pro poslední položku tabulky. Chcete-li najít předchozí položku, musíte prohledat každý řádek databáze.

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

Jak víte, přijde po střední řadě a můžete znovu rozdělit řádky za střední řadou 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 měla společnost 1 000 000 zaměstnanců a poslední položka byla „Zack“, museli byste vyhledat jeho jméno 50 000 řádků. Zatímco s abecedním indexováním to můžete udělat v několika krocích. Nyní si můžete představit, o kolik rychlejší vyhledávání a přístup k datům se může stát s indexováním databáze.

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

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

Indexování silně závisí na použitém mechanismu organizace souborů. Obvykle existují dva typy metod organizace souborů používaných v indexování databáze k ukládání dat. Jsou diskutovány níže:

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

  • Řídký index: V tomto typu indexování se vytvoří položka indexu pro každý záznam.
  • Hustý index: V 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 indexu, které jsou menší nebo rovny hodnotě klíče vyhledávání, kterou hledáte.

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

Typy indexování databáze

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

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

1. Klastrované indexování

Při seskupeném indexování lze do jednoho souboru uložit více než dva datové záznamy. Systém udržuje skutečná data v seskupeném indexování, nikoli v ukazatelích. Hledání je nákladově efektivní se seskupeným indexováním, protože ukládá všechna související data na stejném místě.

Klastrový index používá k definování uspořádané datové soubory. Také připojení 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ě neprimárních sloupců, které nejsou pro každý klíč jedinečné. Při takových příležitostech kombinuje více sloupců a vytváří jedinečné hodnoty klíče pro seskupené indexy.

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

Příklad: Předpokládejme, že existuje společnost, která má přes 1 000 zaměstnanců v 10 různých odděleních. V tomto případě by společnost měla vytvořit klastrování indexování v jejich DBMS k indexování 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 datové ukazatele v indexech budou odkazovat na klastr jako na celou entitu.

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

2. Neskupené indexování

Neskupené indexování odkazuje na typ indexování, kde pořadí řádků indexu není stejné jako fyzicky uložená původní data. Místo toho index bez seskupení ukazuje na datové úložiště v databázi.

Příklad: Non-clustered indexing is similar to a book that has an ordered content page. Ukazatelem dat nebo odkazem je zde seřazená stránka obsahu, která je seřazena podle abecedy, a skutečnými údaji jsou informace na stránkách knihy. Stránka obsahu neukládá informace na stránkách knihy v jejich 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 nemůže uložit primární index do hlavní paměti. Jak možná víte, databázové indexy zahrnují vyhledávací klíče a datové ukazatele. Když se zvětší velikost databáze, naroste také počet indexů.

Aby se však zajistilo rychlé vyhledávání, je třeba uchovávat v paměti záznamy rejstříku. Pokud se použije jednoúrovňový index, 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ělí index jedné úrovně na několik menších bloků. Po rozbití 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í Java

Co je to fragmentace indexu SQL?

Pokud jakékoli pořadí indexových stránek neodpovídá fyzickému pořadí v datovém souboru, způsobí to fragmentaci indexu SQL. Zpočátku jsou všechny indexy SQL umístěny bez fragmentace, ale při opakovaném používání databáze (Vložit / Odstranit / Změnit data) může dojít k fragmentaci.

Kromě fragmentace databáze může vaše databáze čelit i dalším zásadní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 podnikáte se svým webem, může to být pro vás fatální rána.

E-mailem
Data serveru SQL byla poškozena? Zkuste jej obnovit pomocí nástroje SQL Recovery Toolbox

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

Přečtěte si další

Související témata
  • Programování
  • SQL
  • Analýza dat
  • databáze
O autorovi
Zadhid A. Powell (12 článků publikováno)

Zadhid Powell je počítačový inženýr, který se vzdal programování, aby mohl začít psát! Vedle toho je Digital Marketer, technologický nadšenec, expert na SaaS, čtenář a vášnivý stoupenec softwarových trendů. Často ho můžete najít houpat se v klubech v centru města se svou kytarou nebo kontrolovat potápění na dně oceánu.

Více od Zadhida A. Powell

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

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.