Lekce 3 - Optimalizace výkonu webu - Chybně položené dotazy
V minulé lekci, Optimalizace výkonu webu - Databázové indexy, jsme si vysvětlili, jak fungují databázové indexy, jak je vytvářet a jak určit kandidáty na indexy.
V dnešní lekci se dostaneme k samotným databázovým dotazům. Řeč dnes bude o špatně napsaných dotazech, kdy si uvedeme několik ukázek, kdy můžeme dotaz přepsáním výrazně zrychlit.
Na úvod by bylo vhodné uvést: Některé databáze nebo frameworky, případně další vrstvy vaší infrastruktury, mohou výsledky dotazů zacachovat a když ten samý dotaz spustíme několikrát za sebou, je napodruhé mnohem rychlejší. Tyto cache byly např. ve verzi MySQL 8 odebrané, v předchozích verzích se aplikují. Různé databáze se mohou chovat různým způsobem. K tomuto problému se v kurzu ještě dostaneme.
Chybně položené dotazy
Pro začátek si ukažme několik nejčastějších chyb, které databázové dotazy zpomalují.
Dotazy v cyklu
Velmi častou chybou je volání dotazů v cyklu, který do aplikačního kódu zpočátku zanese programátor s tím, že to tak zatím stačí. Jak ale narůstá objem dat, stává se tato část aplikace úzkým hrdlem.
Uveďme si např. kód pro odstranění několika uživatelů z databáze:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
560 Kč
Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu si ukážeme některé z nejčastějších chyb při pokládání databázových dotazů a jak SQL dotazy přeformulovat a tím je optimalizovat a web zrychlit.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.
David se informační technologie naučil na