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

Czy istnieje sposób na zmuszenie mongodb do przechowywania określonego indeksu w pamięci RAM?

Nie. MongoDB pozwala systemowi zarządzać tym, co jest przechowywane w pamięci RAM.

Powiedziawszy to, powinieneś być w stanie utrzymać indeks w pamięci RAM, uruchamiając zapytania względem indeksów (sprawdź podpowiedzi do zapytań ) okresowo, aby nie dezaktualizowały się.

Przydatne referencje:

Dodatkowo Kristina Chodorow udziela tej doskonałej odpowiedzi dotyczącej związku między indeksami MongoDB a pamięcią RAM

AKTUALIZACJA:

Po aktualizacji zapewniającej wyjście .explain() widzę następujące:

  • Zapytanie trafia do indeksu.
  • nscanned to liczba przebadanych elementów (dokumentów lub wpisów w indeksie).
  • nscannedObjects to liczba przeskanowanych dokumentów
  • n to liczba dokumentów spełniających określone kryteria
  • Twój zbiór danych zawiera 300393 wpisów, co jest całkowitą liczbą pozycji w indeksie i pasującymi wynikami.

Może źle to czytam, ale czytam, że wszystkie pozycje w twojej kolekcji są prawidłowymi wynikami. Bez znajomości Twoich danych wydawałoby się, że każdy element zawiera tag „avi”. Inną rzeczą, która to oznacza, jest to, że ten indeks jest prawie bezużyteczny; indeksy zapewniają największą wartość, gdy pracują nad zawężeniem pola wynikowego tak bardzo, jak to możliwe.

Z artykułu MongoDB „Porady i często zadawane pytania dotyczące indeksowania " strona:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Szyderczy model Mongoose z żartem

  2. elemMatch w połączeniu z innymi polami zapytania w Mongoose

  3. Utwórz indeks tekstowy z różnymi wagami pól w MongoDB

  4. model mangusty dla wielu typów użytkowników

  5. Nie równa się w mapowaniu mongo