Мы пытаемся ускорить один из наших агрегатов mongoDB.Все наши коллекции являются историческими (мы не обновляем, просто получаем последнюю запись на основе идентификатора)
Тем не менее, она замедляется примерно до 2500 записей (50 секунд).
Какможно ли его улучшить?
У всех коллекций уже есть индексы, которые используются в агрегатах поиска.
Это сводка нашего агрегата.
db.table.aggregate([{
$match: {
$and: [ attributes based on unique ids ]
}
},
{
$group: {
30 fields
}
}
{
$match: {
$and: [ attributes based on 30 fields ]
}
},
{
$lookup: {
x6 (all with pipelines)
}
},
{
$project: {
30 fields,
arrayElemAt 0 lookups
}
}
{
$match: {
$and: [ attributes based on lookups ]
}
}])
Это так?можно иметь время отклика около 5-10 секунд?