【发布时间】:2016-02-04 17:13:33
【问题描述】:
我正在使用 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 内存)
【问题讨论】:
-
是否有链接/分析将预期查询性能描述为上述查询时间段的函数。
-
你要显示多少数据?您是否真的要选择除除夕夜以外的所有内容(您选择了在那一天之前和之后的所有内容)?如果你想获取数万条记录,那么它很慢并不奇怪。另外,看看这个:groups.google.com/forum/#!msg/influxdb/a0-11i7Nyas/YfQKnjNsBQAJ
-
首先我们必须澄清,我们的时间序列粒度是一天的数量级。所以在上面的查询中,我们只选择了 365 个点(一年中的每一天)。我们不希望这需要这么长时间
-
首先我们必须澄清,我们的时间序列粒度是一天的数量级。所以在上面的查询中,我们只选择了 365 个点(一年中的每一天)。我们在数据库中也只有 27355 个系列,但检索 365 个点需要的不仅仅是大量涌入 -database 'demo' -execute 'SHOW SERIES' | wc -l 27355
标签: python-3.x influxdb