0

我正在寻找一种有效的方法来迭代具有约 2.5 亿个条目的 influxDB 表的完整数据。我目前正在使用OFFSETandLIMIT子句对数据进行分页,但是这需要大量时间来获得更高的偏移量。

SELECT * FROM diff ORDER BY time LIMIT 1000000 OFFSET 0

需要 21 秒,而

SELECT * FROM diff ORDER BY time LIMIT 1000000 OFFSET 40000000

耗时 221 秒。

我正在使用 Python influxdb 包装器来发送请求。

有没有办法优化这个或流式传输整个表?


更新:记住最后接收到的数据的时间戳,然后在下一个查询中使用 WHERE time >= last_timestamp,大大减少了更高偏移量的查询时间(查询时间总是 ~25 秒)。然而,这相当麻烦,因为如果两个数据点共享相同的时间戳,一些结果可能会出现在两页数据上,必须以某种方式进行检测。

4

1 回答 1

0

您应该使用连续查询或 Kapacitor。您能否详细说明您的用例,您对数据流做了什么?

于 2019-05-15T19:42:07.930 回答