Kurz je určen pro databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Seznámíte se všemi zabudovanými způsoby [...]
  • GOC631
  • Délka 5 dní
  • 50 ITK bodů
  • 7 termínů
  • ČR (30 000 Kč)

    SR (1 200 €)

  • Mírně pokročilý

Kurz je určen pro databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Seznámíte se všemi zabudovanými způsoby monitorování SQL Serveru a náročných databázových dotazů, naučíte se identifikovat databázové dotazy vhodné pro optimalizaci a na velmi detailní úrovni pochopíte, jak SQL Server ukládá vaše data a proč vhodně zvolené indexy řádově zvýší efektivitu vašich dotazů. Seznámíte se s dalšími zdroji výkonnostních problémů vašich dotazů a naučíte se je řešit.

»
  • Seznámíte se s architekturou SQL Serveru
  • Dozvíte se, které časté chyby negativně ovlivňují výkon SQL Serveru a vašich dotazů a jak se jim vyvarovat
  • Naučíte se monitorovat SQL Server nástroji, které jsou přímo jeho součástí
  • Vyzkoušíte si identifikovat výkonnostní problémy na skutečné aplikaci
  • Dozvíte se, jak SQL Server ukládá data a jak můžete zefektivnit přístup k datům vhodným návrhem indexu
  • Zjistíte, jak správně navrhovat indexy a kdy a proč se vaše indexy nepoužijí
  • Pochopíte, jak optimalizovat přístupy k více tabulkám s pomocí JOIN a jak optimalizovat agregační dotazy
  • Seznámíte se s možnostmi columnstore indexů a naučíte se je používat v datových skladech i OLTP aplikacích
  • Představíme si technologii In-Memory OLTP a vysvětlíme si, kdy je výhodné ji využít
  • Naučíte se vyvarovat různým jazykovým konstrukcím v jazyce T-SQL, které způsobují výkonnostní problémy
  • Zjistíte, jak se generují exekuční plány a jaké problémy jsou s tím spojeny
  • Dozvíte se, jak funguje transakční zpracování v SQL Serveru, jaké jsou vlastnosti transakcí, jak fungují zámky a jaký dopad na výkon mají izolační úrovně

Kurz je cílen na databázové vývojáře, kteří se chtějí naučit efektivně monitorovat a optimalizovat náročné a problematické databázové dotazy na Microsoft SQL Serveru nebo v Azure SQL Database. Dále znalosti z kurzu využití autoři reportů, kteří potřebují zrychlit načítání dat pro své reporty.

1 Úvod do optimalizace dotazů
  • Představení procesu optimalizace dotazů, stanovení vhodných cílů optimalizace dotazů a upozornění na časté chyby
  • Seznámení s architekturou SQL Serveru
  • Představení nejčastějších chyb, které negativně ovlivňují výkon vašich databázových dotazů nebo celého SQL Serveru
2 Metody monitorování T-SQL dotazů a serveru
  • Seznámení s dostupnými zdroji informací o stavu a běhu SQL Serveru
  • Sledování událostí v SQL Serveru s pomocí SQL Server Profileru, SQL Trace a hlavně Extended Events
  • Monitorování stavu SQL Serveru s pomocí Dynamic Management Views and Functions (DMV, DMF)
  • Ukázka použití Activity Monitoru a reportů v SQL Server Management Studiu
  • Představení Performance Monitoru a užitečných výkonnostních metrik, které je vhodné monitorovat za běhu SQL Serveru
  • Ukázka nasazení Data Collectoru pro dlouhodobý monitoring SQL Serveru
  • Představení sledování spouštěných dotazů s pomocí technologie Query Store
  • Seznámení s technologií Automatic Database Tunning
3 Analýza, návrh a strategie použití indexů
  • Vysvětlení, jak jsou uložena data na SQL Serveru, jaký je formát datové stránky, řádku a jaké typy datových stránek existují
  • Porovnání datových struktur halda (Heap) a clustered indexu a doporučení pro vhodné použití
  • Ukázka uložení dat na haldě, porovnání výhod a nevýhod
  • Vysvětlení struktury B+ stromu v clustered indexu, doporučení pro správnou volbu clustered klíče
  • Seznámení s non-clustered indexy, vysvětlení principu fungování a ukázka volby vhodných klíčů
  • Vysvětlení, proč se někdy navržené non-clustered indexy nepoužijí a jak zde pomůže covering index
  • Ukázka filtrovaného indexu a indexovaných computed columns
  • Vysvětlení výkonnostního dopadů databázových pohledů a funkcí, použití indexovaného pohledu
  • Seznámení s údržbou indexů
4 Specifické optimalizace výkonu s použitím In-Memory OLTP a Columnstore indexů
  • Představení technologie In-memory OLTP a ukázka jejího vhodného použití
  • Seznámení s columnstore indexy, vysvětlení principů fungování a jejich vhodného použití
  • Nasazení clustered columnstore indexů v datových skladech
  • Možnosti využití non-clustered columnstore indexů v OLTP aplikacích
5 Exekuční plány
  • Seznámení s procesem sestavení exekučního plánu
  • Ukázka zachycení a zobrazení exekučního plánu
  • Vysvětlení správného čtení exekučního plánu a vysvětlení jednotlivých operátorů
  • Představení operátorů pro spojení dat z více tabulek a vysvětlení možností optimalizace JOIN operátoru
  • Představení operátorů pro agregaci dat a možných optimalizací agregačních dotazů včetně použití columnstore indexů
  • Seznámení s mechanizmem cachování exekučních plánů a vysvětlení problémů s tím spojených (parameter sniffing, časté rekompilace plánů, ad-hoc dotazy)
  • Seznámení s novými přístupy optimalizátoru díky použití Adaptive Query Processingu (SQL Server 2017) a Intelligent Query Processingu (SQL Server 2019)
6 Zámky, transakce a izolační úrovně
  • Vysvětlení vlastností databázové transakce
  • Ukázka správného použití transakcí
  • Představení mechanizmů pro řízení souběžného přístupu
  • Seznámení s fungováním zámků v SQL Serveru a problémů z toho vyplývajících
  • Vysvětlení vhodného nastavení izolační úrovně a problémů souběžného zpracování, před kterými nás chrání
  • Použití izolační úrovně SNAPSHOT s využitím verzování řádků
Aktuální nabídka
Školicí místo
Jazyk kurzu

Uvedené ceny jsou bez DPH.

Školení na míru

Nenašli jste vhodný termín, nebo chcete školení přizpůsobit specifickým potřebám vašeho týmu? Rádi pro vás připravíme školení na míru.