我正在寻找一种有效的方法来迭代具有约 2.5 亿个条目的 influxDB 表的完整数据。我目前正在使用OFFSET
andLIMIT
子句对数据进行分页,但是这需要大量时间来获得更高的偏移量。
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 秒)。然而,这相当麻烦,因为如果两个数据点共享相同的时间戳,一些结果可能会出现在两页数据上,必须以某种方式进行检测。