happytails.ai
Latviešu

GraphQL vaicājuma izmaksu novērtētājs

Novērtējiet GraphQL operācijas izmaksas, pirms tā sasniedz serveri. Atrodiet dziļi ligzdotās un ar sarakstiem reizinātās izvēles; katrs pieņēmums par saraksta lielumu ir pierakstīts.

Pieņem operāciju līdz 200 000 rakstzīmēm, shēmu līdz 1 000 000 rakstzīmēm un mainīgos līdz 200 000 rakstzīmēm. Saskaita ne vairāk kā 10 000 laukus un 64 ligzdošanas līmeņus; sarakstu lielumi ir no 1 līdz 10 000, lauku izmaksas no 0 līdz 1 000. Novērtējums tiek aprēķināts pārlūkā, fona uzdevumā. Var lejupielādēt JSON pārskatu un CSV sadalījumu. Viena operācija vai vairākas, norādot operācijas nosaukumu. Fragmenti tiek izvērsti. Līdz 200 000 rakstzīmēm. Pirms palaišanas pārskatiet iestatījumus.

Jūsu rezultāts

Ziņo par problēmu vai dalies ar ideju.

GraphQL vaicājuma izmaksu novērtētājs
  1. Ielīmējiet GraphQL operāciju galvenajā laukā.
  2. Ielīmējiet shēmu SDL vai introspekcijas JSON formātā.
  3. Pielāgojiet noklusējuma saraksta lielumu, ierobežošanas argumentus un lauku izmaksas, ja serveris izmanto citas vērtības.
  4. Aprēķiniet novērtējumu un pārskatiet dārgākās vietas, tad lejupielādējiet JSON vai CSV sadalījumu.

Kas jāzina

Pieņem operāciju līdz 200 000 rakstzīmēm, shēmu līdz 1 000 000 rakstzīmēm un mainīgos līdz 200 000 rakstzīmēm. Saskaita ne vairāk kā 10 000 laukus un 64 ligzdošanas līmeņus; sarakstu lielumi ir no 1 līdz 10 000, lauku izmaksas no 0 līdz 1 000. Novērtējums tiek aprēķināts pārlūkā, fona uzdevumā. Var lejupielādēt JSON pārskatu un CSV sadalījumu.

Izmaksu modelis

Katram izvēlētajam laukam piešķir objekta vai skalāra izmaksas atbilstoši tā atgrieztajam tipam, reizinot ar virs tā esošo sarakstu lielumiem. Kopējā summa ietver izvērstās lauku izvēles, tāpēc atkārtotas izvēles var pārvērtēt servera apvienoto izpildi. __typename ir bez izmaksām. Šis plānošanas modelis neizpilda serveri, nosacījumu direktīvas vai ligzdotu sarakstu saturu un nav servera piemērots ierobežojums.

Sarakstu lielumi

Saraksta lauka lielumu nosaka lielākais ierobežošanas arguments, piemēram, first, last vai limit. Ja vērtība nav norādīta, izmanto operācijas mainīgo un shēmas argumentu noklusējuma vērtības. Ja ierobežošanas vērtības nav, izmanto @listSize(assumedSize:), ja tas ir iespējots, un pēc tam modeļa noklusējuma saraksta lielumu. @cost(weight:) aizstāj lauka izmaksas. Visiem atvasinātajiem lielumiem jābūt veseliem skaitļiem no 1 līdz 10 000, bet svariem no 0 līdz 1 000. Nederīgas operācijas, mainīgie, robežas un cikliski fragmenti pārtrauc aprēķinu ar noteikta tipa kļūdu.

Kā lasīt pārskatu

Pārskatā norādīti pieņēmumi, desmit dārgākie apakškoki un pilnais koks ar dziļumu, reizinātāju, saraksta lielumu, paša lauka izmaksām un apakškoka izmaksām. CSV ir viena rinda katram lauka ceļam. Fragmentu iekļāvumi tiek izvērsti to izmantošanas vietās; ciklisks fragments ir vaicājuma validācijas kļūda, nevis pieņēmums par galīgām izmaksām.

Noderīgi nākamie soļi