Ali*_*ouz 5 influxdb influxdb-python influxql influxdb-2 flux-influxdb
我正在将 influx1.x 升级到 influx2.x (将查询从 influxQL 更新为 Flux 语法)。对于非常简单的查询,当我尝试查询超过 500,000 个点时,性能会急剧下降,并且我不确定是否可以采取任何措施来改进查询以获得更好的性能
涌入QL:
select last("y") AS "y" from "mydata".autogen."profile"
WHERE time >= '2019-01-01T00:00:00Z' and time <= '2019-01-07T23:59:59Z'
GROUP BY time(1s) FILL(none)
Run Code Online (Sandbox Code Playgroud)
通量:
data=from(bucket: "mydata")
|> range(start: 2019-01-01T00:00:00Z, stop: 2019-01-07T23:59:59Z)
|> filter(fn: (r) => r._measurement == "profile")
|> filter(fn: (r) => r._field=="y")
|> aggregateWindow(every: 1s, fn: last, createEmpty: false)
|> yield()
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
小智 2
您可以尝试使用以下命令重建时间序列索引:
influxd inspect build-tsi
Run Code Online (Sandbox Code Playgroud)
请在此处查看更多详细信息。
这背后的原因是,当您升级时,元和数据会被迁移,但索引不会被迁移。因此“InfluxDB 必须构建一个新的时间序列索引(TSI)。根据现有数据量,这可能需要一些时间。” 根据指南。