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

mongodb:czy limit() zwiększy szybkość zapytań?

Korzystanie z limit() informujesz serwer że nie pobierzesz więcej niż k dokumenty. Dopuszczenie pewnych optymalizacji w celu zmniejszenia zużycia przepustowości i przyspieszenia sortowania. Wreszcie, używając klauzuli limit, serwer będzie mógł lepiej wykorzystać maksymalnie 32 MB dostępne podczas sortowania w pamięci RAM (np. gdy nie można uzyskać porządku sortowania z indeksu).

Teraz długa historia:find() zwraca kursor. Domyślnie kursor przesyła wyniki do klienta partiami. Z dokumentacji ,:

Korzystanie z limit() kursor nie będzie musiał pobierać więcej dokumentów niż to konieczne. W ten sposób zmniejsza się zużycie przepustowości i opóźnienia.

Zauważ, że biorąc pod uwagę Twój przypadek użycia, prawdopodobnie użyjesz sort() operacja, jak również. Z tej samej dokumentacji co powyżej:

Oraz stronę dokumentacji sort() wyjaśnia dalej:

To ograniczenie 32 MB nie jest specyficzne dla sortowania za pomocą limit() klauzula. Każdy rodzaj, którego kolejność nie może być uzyskana z indeksu, będzie podlegać tym samym ograniczeniom. Jednak z zwykłą posortuj serwer, aby pomieścić wszystkie dokumenty w jego pamięci, aby je posortować. Z ograniczonym sortować, musi tylko przechowywać k dokumenty w pamięci w tym samym czasie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzyskać ranking przedmiotów na liście posortowanej według wielu pól w Mongoose?

  2. Wyszukiwanie zagnieżdżonych dokumentów MongoDB

  3. MongoDB:Jak przedstawić schemat w pracy dyplomowej?

  4. Jak odwołać się do osadzonego dokumentu w Mongoid?

  5. Gdzie jest baza danych meteor MongoDB?