Documentation Index
Fetch the complete documentation index at: https://docs.chainstream.io/llms.txt
Use this file to discover all available pages before exploring further.
概述
每條 GraphQL 查詢會消耗根據查詢複雜度動態計算的 Credit Units(CU,信用單位)。額度與 REST Data API 共用同一計費計劃 —— 同一 API Key 即可訪問兩者。GraphQL API 與 REST Data API 共用 API Key 與計費計劃。GraphQL 查詢消耗的額度計入總用量。
額度計算公式
按 Cube 採用 五因子公式 計算額度。最終 CU 取決於查詢內容、請求行數、是否聚合、指標數量以及選中欄位數。| 因子 | 計算方式 | 說明 |
|---|---|---|
| BaseCost | 各 Cube 內部基準值 | 反映底層表規模與掃描成本,不同 Cube 不同。 |
| LimitFactor | ceil(limit / 100),最小為 1 | 與請求行數近似線性;1–100 行同價;101–200 為 2×,以此類推。 |
| AggregationFactor | 1.0(無)、1.5(GROUP BY)、2.0(HAVING) | 使用聚合或聚合後過濾(selectWhere)時更高。 |
| MetricFactor | 1.0 + (aggregate_count × 0.1) | 每多一個聚合函式(count、sum、avg 等)約增加 10% 成本。 |
| ComplexityFactor | min(1.0 + min(select_count, 250) / 50 × 0.2, 1.5) | 選中欄位越多成本越高,上限 1.5×;約 5 個欄位的簡單查詢因子約 1.02。 |
零行查詢不扣費。 若查詢無返回行,無論其他因子如何均不計費。
計算示例
簡單查詢:10 行,5 個欄位
簡單查詢:10 行,5 個欄位
較大查詢:500 行,5 個欄位
較大查詢:500 行,5 個欄位
聚合查詢:GROUP BY + 2 個指標,500 行
聚合查詢:GROUP BY + 2 個指標,500 行
複雜查詢:選中大量欄位
複雜查詢:選中大量欄位
響應:extensions.credits
每條 GraphQL 響應在 extensions 中包含額度消耗詳情:
| 欄位 | 型別 | 說明 |
|---|---|---|
total | Float | 整條查詢消耗的總 CU |
unit | String | 恆為 "CU" |
cubes | Array | 按 Cube 拆分 |
cubes[].cube | String | 計費引擎使用的 Cube 名 |
cubes[].credits | Float | 該 Cube 計費的 CU |
cubes[].row_count | Int | 返回行數 |
在產生扣費時會出現
extensions.credits(即 total > 0)。零行返回的查詢不計費。在 IDE 中監控用量
GraphQL IDE 狀態列會在每次查詢後顯示額度消耗:- CU 指示:顯示本次消耗的總 CU
- 延遲:請求耗時(毫秒)
- 響應大小:載荷體積
最佳化額度使用的建議
少選欄位
只請求需要的維度。ComplexityFactor 隨選中欄位數增加。
合理 limit
在可接受範圍內儘量降低
limit.count。LimitFactor 每多 100 行約翻倍。優先預聚合 Cube
需要彙總資料時,優先使用 DWM/DWS Cube(Pairs、Tokens、TokenHolders),而非在 DWD Cube(DEXTrades)上跑指標。
相關文件
計費與單位(總覽)
ChainStream 計費計劃、額度配額與支付方式概覽。
指標與聚合
瞭解聚合指標如何影響查詢額度。

