Přesazení levandule, které lidé odkládají, dokud ji nezničí
Levandule vydrží na jednom místě několik let, ale jednou přijde chvíle, kdy ji půda přestane uživit. Nejde o to, že by náhle uschla. Problém se projevuje postupně a většina pěstitelů ho přehlédne, dokud je pozdě. Rozeznat včas, že rostlina potřebuje přesadit, znamená zachránit ji dřív, než začne odumírat od středu.<br>
<br>
<br>
<br>
Postel postavená podélně ke zdi šetří místo, ale často se změní v past: k oknu se nedostaneš, povlečení měníš po částech a noční stolek nemá kam jít. Řešení není složité, chce to jen předem promyslet, k čemu má která strana postele sloužit a kolik prostoru ti zbývá na průchod. Než začneš cokoli kupovat nebo přemisťovat, změř si vzdálenost od zdi k protější stěně, délku postele a výšku matrace. Bez těchto tří čísel budeš jen hádat.<br>
<br>
<br>
<br>
Prvním konkrétním krokem je zbavit se toho, co v koupelně nemusí být vůbec. Projděte všechny lahvičky, staré vzorky, prázdné obaly a věci, které jste nepoužili rok. Umyvadlo má sloužit k mytí, ne jako odkladiště. Co zůstane, rozdělte na dvě skupiny: denní potřeba a zásoba. Denní potřeba patří na dosah ruky, zásoba může být výš nebo hloub ve skříňce. Tím získáte místo, aniž byste cokoli kupovali.<br>
<br>
<br>
<br>
Druhá častá chyba je cachování na špatné úrovni. Cache celého dotazu vypadá lákavě, ale při jakékoli změně v datech se invaliduje příliš mnoho. Lepší je cachovat jednotlivé entity podle identifikátoru a klíčovat i podle toho, jaká pole klient požaduje. Tím se vyhnete situaci, kdy jeden klient chce jen jméno a druhý celý profil, a přesto si navzájem přepisují výsledky.<br>
<br>
<br>
<br>
Valenda v ložnici plní dvě funkce: místo na spaní a často i odkládací plochu. Světlo nad ní proto musí zvládnout obojí — večer uklidnit, ráno probudit a při čtení neunavit oči. Barevná teplota LED pásku nebo žárovky rozhoduje víc než výkon. Udává se v kelvinech (K) a určuje, jestli světlo působí žlutě, neutrálně, nebo modrobíle.<br>
<br>
<br>
<br>
Většina týmů se při optimalizaci GraphQL zaměří na resolver nebo databázi, ale skutečný problém bývá jinde. Server zpracuje dotaz, vrátí data, a přesto je odpověď pomalá. Příčinou je často to, jak klient skládá dotaz a jak server překládá pole na skutečnou práci. Prvním krokem není měnit kód, ale změřit, které dotazy jsou drahé. Zapněte na serveru logování doby zpracování jednotlivých polí a sledujte, co se děje při reálném provozu, ne v testech s pěti záznamy.<br>
<br>
<br>
<br>
Úložný prostor hledej ve výšce, ne na podlaze. Nad postelí vznikne police nebo skříňka, která neomezí přístup a využije prázdnou stěnu. Další možností je úložiště pod postelí: zásuvky na kolečkách nebo výklopný rošt. Pozor na dva typy chyb. První je příliš těžká zásuvka, která se vysouvá špatně a drhne o podlahu. Druhá je skříňka umístěná přímo u hlavy postele, do které se při sezení uhodíš. Vždy zkontroluj, jestli se dvířka nebo zásuvka otevřou, aniž bys musel odsunout postel.<br>
<br>
<br>
<br>
Do roku 2026 se jako standard prosadí omezení složitosti na vstupu. Místo ručního počítání polí zaveďte skóre dotazu, které zohlední hloubku, počet seznamů a režii resolverů. Pokud skóre překročí limit, server dotaz odmítne s jasnou chybou, ne že ho potichu zpomalí. Klient se tak naučí posílat menší dotazy. Zároveň měřte, kolik dotazů končí odmítnutím, protože vysoké číslo znamená, že limit je špatně nastavený, ne že klienti jsou hluční.<br>
<br>
<br>
<br>
Na závěr: optimalizace neznamená přepsat všechno. Znamená vědět, které dotazy jsou drahé, proč jsou drahé, a nastavit pravidla, která drahé dotazy zastaví dřív, než zatíží server. Když se to podaří, rozdíl poznáte nejen na časech odpovědí, ale i na tom, jak snadno se aplikace vyvíjí dál.<br>
<br>
<br>
<br>
Hloubka a šířka dotazu rozhoduje víc než indexy GraphQL umožňuje klientovi sáhnout hluboko do grafu. To je výhoda i past. Dotaz, který pro každý záznam načte další tři vrstvy vnořených objektů, vytvoří stovky dílčích dotazů. Řešením není zakazovat vnořování, ale omezit hloubku a šířku na úrovni serveru. Zaveďte limity podle toho, co aplikace skutečně potřebuje. Pokud klient posílá dotaz přes deset úrovní, je to signál, že model dat nebo potřeby obrazovky je špatně navržený. Druhým krokem je seskupit opakované dotazy do jednoho požadavku místo několika paralelních.<br>
<br>
<br>
<br>
Typická chyba je řešit N+1 dotaz až na úrovni databáze. Pomůže dataloader, ale jen když se pole načítají ve stejné vrstvě a ve stejném pořadí. Jakmile klient pole prohází, dávkování se rozpadne. Proto je lepší omezit počet polí vracejících seznamy a na serveru vynutit, aby se dávkovalo podle skutečných klíčů. Bez toho se výkon mění podle toho, jak klient zrovna poskládá dotaz.





