为什么跨越一年的 InfluxDB 查询需要很长时间(> 15 分钟)才能响应?



我正在使用influxDB使用以下模式保存测量值:

 {
        "timestamp": self.timestamp,
        "precision": "s",
        "name": "twitter.entity.count",
        "tags": {
            "entity": ent,
            "entity_type": ent_type
        },
        "fields": {
            "count": num
        }
    }

我的查询是

SELECT * FROM "twitter.entity.count" WHERE entity = 'someEntity' time > '2013-01-01' AND time < '2013-12-31'

当我尝试查看 CLI 中的架构时,它将entity显示为字段而不是标签。为什么?为什么它会自动将我的标签转换为字段?如何将其转换回标签?

我认为查询很慢,因为字段没有索引。所以我只用时间字段尝试了以下查询,它仍然非常慢(> 10 分钟)

SELECT * FROM "twitter.entity.count" WHERE time > '2013-01-01' AND time < '2013-12-31'

如何解决这个问题?我需要显着减少响应时间(最多 1 秒)

我运行这些查询的计算机非常大。(24 核,148GB 内存)

原因是由于实体名称格式不正确。实体名称中包含"\\",无法将其添加为标记。因此,它被添加为字段并导致查询时间变慢。

最新更新