MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Se mongodb aggregate non utilizza gli indici per $lookup, perché le mie prestazioni aumentano quando si utilizzano gli indici?

Sfortunatamente il manuale di MongoDB al momento non menziona il potenziale utilizzo dell'indice per $lookup , ma questo è sicuramente il caso.

Una semplice $lookup una query simile al tuo esempio esegue una corrispondenza di uguaglianza su foreignField in un'altra raccolta, quindi hai aggiunto l'indice corretto per migliorare le prestazioni (supponendo che anche questo campo sia ragionevolmente selettivo).

Come in MongoDB 4.0 l'utilizzo dell'indice per $lookup non è riportato in l'aggregazione spiega l'output . C'è un problema rilevante da guardare/votare nel tracker dei problemi di MongoDB:SERVER-22622:Improve $ ricerca spiega per indicare il piano di query nella raccolta "da" .