MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

C'è un modo per forzare mongodb a memorizzare determinati indici nella ram?

No. MongoDB consente al sistema di gestire ciò che è memorizzato nella RAM.

Detto questo, dovresti essere in grado di mantenere l'indice nella RAM eseguendo query sugli indici (controlla suggerimento query ) periodicamente per evitare che diventino obsoleti.

Riferimenti utili:

Inoltre, Kristina Chodorow fornisce questa eccellente risposta sulla relazione tra gli indici MongoDB e la RAM

AGGIORNAMENTO:

Dopo l'aggiornamento che fornisce l'output .explain(), vedo quanto segue:

  • La query sta raggiungendo l'indice.
  • nscanned è il numero di elementi (documenti o voci di indice) esaminati.
  • nscannedObjects è il numero di documenti scansionati
  • n è il numero di documenti che soddisfano i criteri specificati
  • il tuo set di dati è 300393 voci, che è il numero totale di elementi nell'indice e i risultati corrispondenti.

Forse sto leggendo male, ma quello che sto leggendo è che tutti gli articoli nella tua collezione sono risultati validi. Senza conoscere i tuoi dati, sembrerebbe che ogni articolo contenga il tag "avi". L'altra cosa che questo significa è che questo indice è quasi inutile; gli indici forniscono il maggior valore quando lavorano per restringere il più possibile il campo risultante.

Da "Consigli e domande frequenti sull'indicizzazione " pagina: