| 顺序 | from → range → filter → 聚合;把最严格的过滤放前面 |
|---|---|
| 标签过滤 | 按标签过滤可下推到存储层裁剪序列;对 _value 的过滤发生在读取后 |
| 慎用 | 大范围 group(columns:["*"])、跨测量 join、无 limit 的明细查询 |
示例
示例
from(bucket: "metrics")
|> range(start: -1h) // 先裁时间
|> filter(fn: (r) => r._measurement == "http_requests")
|> filter(fn: (r) => r.service == "api") // 再裁序列
|> filter(fn: (r) => r._field == "latency_ms")
|> aggregateWindow(every: 1m, fn: mean)
|> limit(n: 100)查询耗时可通过 influx query --profilers query 查看各算子耗时,定位瓶颈比猜更快。