MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Słaba wydajność agregacji wyszukiwania

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

ForeignField Określa pole z dokumentów w kolekcji fromcollection. $lookup przeprowadza dopasowanie równości na obcym polu do localField z dokumentów wejściowych. Jeśli dokument w kolekcji from nie zawiera pola ForeignField, $lookup traktuje wartość jako null w celu dopasowania.

Zostanie to wykonane tak samo, jak każde inne zapytanie.

Jeśli nie masz indeksu w polu _AccountId, wykona pełne zapytanie do tabel dla każdego z 10 000 postów. Większość czasu spędzisz w tym skanowaniu stołów.

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

przyspiesza proces, dzięki czemu wykonuje 10 000 trafień indeksu zamiast 10 000 skanów tabeli.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bitwa o bazy danych NoSQL — porównanie MongoDB i Oracle NoSQL

  2. Jak usunąć bazę danych za pomocą Mongoose?

  3. Jak wykonać Order By w oparciu o wartości w MongoDB?

  4. Mongodb $lookup Nie działa z _id

  5. 6 sposobów na uzyskanie roku z daty w MongoDB