V této části jsou rozebrány indexy, jejich funkce a vliv na rychlost provádění dotazů. Jedná se už o pokročilé téma, ale pokud se setkáváte s většími objemy dat, může vám výrazně pomoci.

SQL7 - Indexy

V této části jsou rozebrány indexy, jejich funkce a vliv na rychlost provádění dotazů. Jedná se už o pokročilé téma, ale pokud se setkáváte s většími objemy dat, může vám výrazně pomoci.

Co jsou to indexy

Indexy jsou pomocné datové struktury uložené v tabulkách, které zrychlují vyhledávání v datech díky jejich „seřazení“. Rychlejšího vyhledávání lze dosáhnout například uspořádáním položek indexu do vyváženého stromu. Složitost vyhledání položky potom klesne z lineární na logaritmickou. Způsobů technické realizace indexů je však celá řada a nemusí to být vždy stromy. Pokud by vás technická realizace zajímala více do hloubky, můžete se odrazit například od https://en.wikipedia.org/wiki/Database_index.

Pro nás je ovšem zásadní, jak zjistit, jaký index nám může dotaz zrychlit. To se provádí analýzou plánů provádění. Toto téma by samo o sobě vydalo na sérii přednášek. Koho by to zajímalo, můžete začít například touto přednáškou

https://www.wug.cz/zaznamy/463-WUG-Days-2018-Microsoft-SQL-Server-Execution-Plans-Query-Optimization

Pokud plánům provádění nerozumíte a rozumět nechcete, můžete zkusit využít funkci Explain a podívat se, jestli vám SQL Server sám nějaký index navrhne. Jak to vypadá, se můžete podívat ve videu.

Další materiály

Pokud se chcete o indexech dozvědět více, najdete na internetu celou řadu zdrojů. Pokud vás zajímá konkrétní implementace pro SQL Server, můžete začít například tady

https://docs.microsoft.com/en-us/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described

Kontrolní otázky

  1. Indexy umožňují …
  2. zrychlit vyhledávání v datech a jejich agregaci
  3. dostávat známky na vysoké škole
  4. procházet data řádek po řádku
  5. Indexy zrychlují …
  6. všechno a všude
  7. operace nad sloupci, nad nimiž jsou postaveny
  8. operace nad libovolnými sloupci v tabulce s indexem

Zaujal Tě tento online kurz?

Přihlásit k newsletteru

Projekt online vzdělávání byl realizován v rámci Stipendia Czechitas v projektu: „Ženy do IT“ (reg.č. CZ.03.1.51/0.0/0.0/16_061/0003268), který je financován z prostředků Evropského sociálního fondu prostřednictvím Operačního programu Zaměstnanost.