MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Se o agregado mongodb não usa índices para $lookup, por que meu desempenho aumenta ao usar índices?


Infelizmente, o manual do MongoDB não menciona o uso potencial do índice para $lookup , mas este é definitivamente o caso.

Um simples $lookup consulta semelhante ao seu exemplo executa uma correspondência de igualdade no foreignField em outra coleção, então você adicionou o índice correto para melhorar o desempenho (supondo que esse campo também seja razoavelmente seletivo).

Como no MongoDB 4.0, o uso do índice para $lookup não é relatado em saída de explicação de agregação . Há um problema relevante para assistir/votar no rastreador de problemas do MongoDB:SERVER-22622:Improve $ explicação de pesquisa para indicar o plano de consulta na coleção "de" .