happytails.ai
Čeština

Odhad ceny dotazů GraphQL

Odhadněte cenu operace GraphQL dříve, než dorazí na server. Najděte hluboce vnořené výběry a výběry násobené seznamy se zaznamenáním každého předpokladu o velikosti seznamu.

Přijímá operaci do 200 000 znaků, schéma do 1 000 000 znaků a proměnné do 200 000 znaků. Počítá nejvýše 10 000 polí a 64 úrovní vnoření, s velikostmi seznamů od 1 do 10 000 a cenami polí od 0 do 1 000. Odhad běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a rozpis CSV. Jedna operace nebo více operací se zadaným názvem operace. Fragmenty se rozbalují. Nejvýše 200 000 znaků. Před spuštěním zkontrolujte nastavení.

Váš výsledek

Nahlaste problém nebo se podělte o nápad.

Odhad ceny dotazů GraphQL
  1. Vložte operaci GraphQL do hlavního pole.
  2. Vložte schéma jako SDL nebo introspekční JSON.
  3. Upravte výchozí velikost seznamu, omezující argumenty a ceny polí, pokud server používá jiné hodnoty.
  4. Spusťte odhad, prohlédněte nejnákladnější místa a stáhněte rozpis JSON nebo CSV.

Co očekávat

Přijímá operaci do 200 000 znaků, schéma do 1 000 000 znaků a proměnné do 200 000 znaků. Počítá nejvýše 10 000 polí a 64 úrovní vnoření, s velikostmi seznamů od 1 do 10 000 a cenami polí od 0 do 1 000. Odhad běží v prohlížeči v samostatné úloze na pozadí. Ke stažení je zpráva JSON a rozpis CSV.

Model ceny

Každé vybrané pole má objektovou nebo skalární cenu podle návratového typu, vynásobenou velikostmi seznamů nad ním. Celkem jde o součet rozbalených výběrů polí, takže opakované výběry mohou nadhodnotit sloučené provádění na serveru. __typename má nulovou cenu. Tento plánovací model nespouští server, podmíněné direktivy ani obsah vnořených seznamů a není limitem vynucovaným serverem.

Velikosti seznamů

Velikost pole se seznamem určuje největší omezující argument, například first, last nebo limit. Pokud hodnota chybí, použijí se výchozí hodnoty proměnných operace a argumentů schématu. Bez omezující hodnoty se použije @listSize(assumedSize:), je-li zapnuto, a poté výchozí velikost seznamu v modelu. @cost(weight:) nahrazuje cenu pole. Všechny odvozené velikosti musí být celá čísla od 1 do 10 000 a váhy od 0 do 1 000. Neplatné operace, proměnné nebo meze a cyklické fragmenty zastaví odhad chybou určeného typu.

Jak číst zprávu

Zpráva uvádí předpoklady, deset nejnákladnějších podstromů a celý strom s hloubkou, násobitelem, velikostí seznamu, vlastní cenou a cenou podstromu. CSV obsahuje jeden řádek na cestu pole. Odkazy na fragmenty se rozbalují v místě použití; cyklický fragment je chybou validace dotazu, nikoli předpokladem konečné ceny.

Užitečné další kroky