happytails.ai
繁體中文

GraphQL 查詢成本估算器

估算 GraphQL 操作送達伺服器前的執行成本。找出深層巢狀及多層清單選取,並記下每項清單大小假設。

操作最多 200,000 個字元,結構描述最多 1,000,000 個字元,變數最多 200,000 個字元。最多計數 10,000 個欄位和 64 層巢狀;清單大小範圍為 1 到 10,000,欄位成本範圍為 0 到 1,000。估算在瀏覽器背景工作執行緒中執行。可下載 JSON 報告和 CSV 明細。 一個或多個操作;若有多個,需設定操作名稱。片段會展開。 最多 200,000 個字元。 執行前請檢查設定。

處理結果

回報問題或分享想法。

GraphQL 查詢成本估算器
  1. 在主要輸入欄中貼上 GraphQL 操作。
  2. 以 SDL 或 introspection JSON 格式貼上結構描述。
  3. 若伺服器使用其他值,請調整預設清單大小、切片引數和欄位成本。
  4. 執行估算並檢閱熱點,然後下載 JSON 或 CSV 明細。

使用須知

操作最多 200,000 個字元,結構描述最多 1,000,000 個字元,變數最多 200,000 個字元。最多計數 10,000 個欄位和 64 層巢狀;清單大小範圍為 1 到 10,000,欄位成本範圍為 0 到 1,000。估算在瀏覽器背景工作執行緒中執行。可下載 JSON 報告和 CSV 明細。

成本模型

每個選取欄位依其回傳型別計入物件或純量成本,再乘以上層清單大小。總成本為展開後欄位選取成本的總和;因此,重複選取可能會高估伺服器合併執行後的成本。__typename 不計入成本。此規劃模型不會實際執行 GraphQL 請求,也不會處理條件指令或巢狀清單內容;它不是伺服器強制執行的限制。

清單大小

清單欄位的大小取最大切片引數值,例如 first、last 或 limit。省略值時會使用操作變數預設值和結構描述引數預設值。沒有切片值時,若啟用 @listSize(assumedSize:),就使用該值;否則使用模型預設清單大小。@cost(weight:) 會取代欄位成本。所有推導出的大小必須是 1 到 10,000 的整數,權重必須介於 0 到 1,000。無效操作、變數、界限和循環片段會讓估算停止,並傳回具型別的錯誤。

報告說明

報告會列出假設、成本最高的十個子樹,以及包含深度、乘數、清單大小、自身成本和子樹成本的完整樹。CSV 每條欄位路徑佔一列。片段展開會出現在其使用位置;循環片段屬於查詢驗證錯誤,而不是有限成本假設。

接下來可以做什麼