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

W jaki sposób MongoDB ocenia wiele instrukcji $lub?

MongoDB wykona każdą klauzulę operacji $or jako oddzielne zapytanie i usunie duplikaty jako przebieg przetwarzania końcowego. W związku z tym każda klauzula może używać oddzielnego indeksu, co często jest bardzo przydatne.

Innymi słowy, NIE spojrzy na 1 dokument, sprawdzi, która z klauzul OR ma zastosowanie, i wykona wcześniejsze wyjście, jeśli pierwsza klauzula jest zgodna. Zamiast tego wykonuje pełne zapytanie zestawu danych według klauzuli i usuwa duplikaty po fakcie. Może się to wydawać mniej wydajne, ale w praktyce prawie zawsze jest szybsze, ponieważ pierwsze podejście byłoby w stanie trafić tylko na jeden indeks dla wszystkich klauzul, co rzadko jest skuteczne.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdź rekordy MongoDB, w których pole tablicy nie jest puste

  2. Django-Nonrel z Mongodb listfield

  3. Przegląd mechanizmu pamięci masowej WiredTiger dla MongoDB

  4. Mongo odpowiednik SQL SELECT DISTINCT?

  5. dane wiosenne - Mongodb - metoda findBy dla obiektów zagnieżdżonych