如何优化MongoDB查找数十亿文档的查询?

时间:2019-02-22 07:50:51

标签: mongodb mongoose indexing nosql mongodb-query

这是我的收藏集,其中包含超过10亿个文档,每个文档的大小为2 KB

sample document
{
    "sensor" : "temperature",
    "timestamp" : ISODate("2018-02-22T01:55:00Z"),
    ... some more key values
}

我分别在按键传感器和时间戳上有索引 查找查询

db.collection.find({"sensor":"temperature", "timestamp":{"$gte":ISODate("2018-02-22T00:00:00Z"), 
                                          "$lt":ISODate("2018-02-23T00:00:00Z")}})

但是响应大约需要20-30分钟,这需要几分钟,这对于我的应用程序是不可接受的。那么优化此查询的更好方法是什么,它会导致不到30秒的时间(因为如果查询时间超过30秒,猫鼬会返回超时错误)。除了分片之外,还有什么解决方案可以优化查询?

0 个答案:

没有答案