Вот моя коллекция, в которой содержится более 1 миллиарда документов, и каждый документ имеет размер 2 КБ
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 секунд (потому что mongoose будет возвращать ошибку тайм-аута, если запрос занимает более 30 секунд).Есть ли решение для оптимизации запроса, кроме шардинга?