Agregace, na kterou zapomínáte, ničí každý GraphQL dotaz
Základem je pochopit, co vlastně loví. Plejtvák se živí drobným planktonem, krilem a malými hejnovými rybkami. Tato potrava se vyskytuje v obrovských rojích, a proto se nevyplatí ji jednotlivě pronásledovat. Filtrace umožňuje nasát celý mrak naráz. Když se tělo přizpůsobí tomuto stylu, zuby zmizí – nejsou potřeba k uchopení ani k rozmělňování. Kosticové pláty jsou naopak pružné, neustále dorůstají a obrušují se, takže se opotřebení samo vyrovnává.
Hmotnost je druhý klíč. Do zhruba 70 kg stačí lamely o tloušťce kolem 2 cm a rozestupem do 7 cm, s měkčí pryží v uložení. Od 70 do 100 kg je potřeba lamely silnější, alespoň 2,5 cm, rozestup maximálně 5–6 cm a pevnější uložení. Nad 100 kg už nestačí běžný rošt z tenkých latí — volíme dvojitou mříž, lamely silné 3 cm a více, nebo rošt s pevným rámem a středovou vzpěrou. U dvoulůžka se hmotnosti sčítají, proto se vyplatí středová nosná lišta i u lehčích spáčů.
Typická chyba je opačný přístup: vývojář nastaví maximální hloubku na hodnotu, kterou potřebuje jeho vlastní frontend, a zapomene, že jiný klient má legitimně hlubší strukturu. Výsledkem jsou nefunkční integrace a obcházení limitu přes fragmenty. Počítejte složitost nad rozparsovaným dokumentem včetně fragmentů, ne nad textem dotazu. Jinak stačí fragment rozbalit a limit obejdete.
Než štěně dokončí očkování, nemusíte sedět doma. Veterináři se shodují, že riziko nedostatečné socializace je často větší než riziko nákazy. Můžete štěně nosit v náručí na klidná místa, posadit ho na lavičku a nechat ho pozorovat okolí. Doma pusťte zvuky vysavače, zvonku, hromu nebo pláče dítěte z nahrávky, vždy v nízké hlasitosti a s odměnou. Štěně by mělo každý nový podnět spojovat s něčím příjemným – pamlskem, hrou nebo klidným hlasem.
Stejně důležitá je konstrukce sedáku. Pěna s vysokou hustotou, případně kombinace pěny a pružin, drží tvar i po letech. Levné sedáky s nízkou hustotou se během roku proseknou a hosté to poznají jako nepohodlí. U opěradel a kostry zkontrolujte, zda jde potah sundat. Možnost sundat a vyprat potah je pro penzion zásadní – jinak každá skvrna znamená volání čalouníka. Zároveň si ověřte, zda výrobce nabízí náhradní potahy, protože za pár let budete chtít vyměnit jen látku, ne celou pohovku.
Zásadní je materiál potahu. Hladká ekokůže nebo kvalitní mikrovlákno s vodoodpudivou úpravou snesou otření vlhkou houbou. Tkané látky se strukturou, jako je hrubý len nebo bouclé, naopak zadržují tekutiny i pachy a čištění zabere čas, který při výměně hostů nemáte. U tkanin vždy hledejte informaci, zda je potah snímatelný a pratelný aspoň na třicet stupňů. U celých sedaček se rozepínací zipy na sedácích i opěradlech vyplatí víc než sebelepší impregnace sprejem — ta se časem vypere a musí se obnovovat.
Většina pomalých GraphQL dotazů nevzniká kvůli databázi, ale kvůli tomu, jak resolver vrací data. Když pole vrací seznam a každý prvek si sám dotahuje navazující data, počet dotazů roste s velikostí výsledku. Řešení se jmenuje DataLoader nebo ekvivalentní batchovací vrstva. Princip: v rámci jednoho tiku posbírejte všechny požadované klíče, proveďte jeden dotaz na databázi nebo službu a výsledky rozdělte zpět podle klíčů. Bez tohoto kroku vám stačí zvýšit limit z deseti na sto položek a server položíte.
Druhá častá chyba je N+1 uvnitř jednoho resolveru, kde se cyklus schová za mapování pole. Projděte si resolvery, které volají síť nebo databázi, a označte ty, jež běží uvnitř smyčky. Právě tam batchování chybí. Cache na úrovni požadavku pomůže u opakovaných identických klíčů, ale nenahradí batchování — při deseti různých klíčích budete mít pořád deset dotazů.
Hloubka dotazu a počítání složitosti místo slepého limitu Omezení počtu uzlů v dotazu je nutné, ale samotné číslo neřekne, co dotaz skutečně stojí. Zaveďte výpočet složitosti: každému poli přiřaďte váhu a násobte ji podle toho, kolikrát se pole v dotazu vyskytne. Seznamy násobte koeficientem podle argumentu pro stránkování. Pokud vypočtená složitost překročí práh, dotaz odmítněte ještě před spuštěním resolverů. Tím zabráníte tomu, aby jeden klient poslal hluboce zanořený dotaz a zablokoval ostatní.
V roce 2026 se stále častěji používají perzistentní dotazy: klient pošle hash místo celého textu. Tím zmizí riziko, že někdo pošle neočekávaně drahý dotaz, a zároveň se zmenší provoz. Zkombinujte to s výpočtem složitosti a sledováním doby běhu jednotlivých polí. Měření odhalí, které pole je pomalé, dřív než si toho všimnou uživatelé. Bez měření se optimalizace zvrhne v hádání a často zpomalí to, co bylo v pořádku.