与 InfluxQL 相比,flux 查询非常慢(慢 10 倍)

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)。根据现有数据量,这可能需要一些时间。” 根据指南。