MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Gibt es eine Möglichkeit, Mongodb zu zwingen, einen bestimmten Index im RAM zu speichern?

Nein. Mit MongoDB kann das System verwalten, was im RAM gespeichert ist.

Nachdem dies gesagt wurde, sollten Sie in der Lage sein, den Index im RAM zu halten, indem Sie Abfragen für die Indizes ausführen (siehe Abfragehinweis ), damit sie nicht veraltet sind.

Nützliche Referenzen:

Darüber hinaus liefert Kristina Chodorow diese hervorragende Antwort bezüglich der Beziehung zwischen MongoDB-Indizes und RAM

AKTUALISIERUNG:

Nach dem Update, das die .explain()-Ausgabe bereitstellt, sehe ich Folgendes:

  • Die Abfrage trifft auf den Index.
  • nscanned ist die Anzahl der untersuchten Elemente (Dokumente oder Indexeinträge).
  • nscannedObjects ist die Anzahl der gescannten Dokumente
  • n ist die Anzahl der Dokumente, die den angegebenen Kriterien entsprechen
  • Ihr Datensatz besteht aus 300393 Einträgen, was der Gesamtzahl der Elemente im Index und den übereinstimmenden Ergebnissen entspricht.

Ich lese das vielleicht falsch, aber was ich lese, ist, dass alle Elemente in Ihrer Sammlung gültige Ergebnisse sind. Ohne Ihre Daten zu kennen, scheint es, dass jeder Artikel das Tag "avi" enthält. Das andere, was das bedeutet, ist, dass dieser Index fast nutzlos ist; Indizes bieten den größten Wert, wenn sie daran arbeiten, das resultierende Feld so weit wie möglich einzugrenzen.

Von MongoDBs „Indexierungsratschläge und FAQ " Seite: