GraphQL 查詢成本估算器
估算 GraphQL 操作送達伺服器前的執行成本。找出深層巢狀及多層清單選取,並記下每項清單大小假設。
操作最多 200,000 個字元,結構描述最多 1,000,000 個字元,變數最多 200,000 個字元。最多計數 10,000 個欄位和 64 層巢狀;清單大小範圍為 1 到 10,000,欄位成本範圍為 0 到 1,000。估算在瀏覽器背景工作執行緒中執行。可下載 JSON 報告和 CSV 明細。 一個或多個操作;若有多個,需設定操作名稱。片段會展開。 最多 200,000 個字元。 執行前請檢查設定。
處理結果
GraphQL 查詢成本估算器
- 在主要輸入欄中貼上 GraphQL 操作。
- 以 SDL 或 introspection JSON 格式貼上結構描述。
- 若伺服器使用其他值,請調整預設清單大小、切片引數和欄位成本。
- 執行估算並檢閱熱點,然後下載 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 每條欄位路徑佔一列。片段展開會出現在其使用位置;循環片段屬於查詢驗證錯誤,而不是有限成本假設。