sql >> Databáze >  >> NoSQL >> MongoDB

Špatný výkon agregace vyhledávání

z https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/

ForeignField Určuje pole z dokumentů v kolekci fromcollection. $lookup provede rovnocennou shodu na ForeignField do místního pole ze vstupních dokumentů. Pokud dokument v kolekci fromcollection neobsahuje ForeignField, $lookup považuje hodnotu za nulovou pro účely porovnávání.

To bude provedeno stejně jako jakýkoli jiný dotaz.

Pokud nemáte index v poli _AccountId, provede úplný dotaz pro skenování tabulek pro každý z 10 000 příspěvků. Většinu času strávíte skenováním tabulek.

db.users.ensureIndex("_AccountId", 1) 

urychluje proces, takže místo 10 000 skenování tabulky provádí 10 000 indexových přístupů.



  1. MongoDB ::jsou Mongo ID jedinečná napříč sbírkami?

  2. Spouštění úloh Heroku na pozadí pouze s 1 webovým dynem a 0 dělnickým dynem

  3. Redis Vue Desktop

  4. Jak vytvořit datum dotazu v mongodb pomocí pymongo?