MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Existe uma maneira de forçar o mongodb a armazenar determinado índice na ram?


Não. O MongoDB permite que o sistema gerencie o que está armazenado na RAM.

Com isso dito, você deve ser capaz de manter o índice na RAM executando consultas nos índices (confira dicas de consulta ) periodicamente para evitar que fiquem obsoletos.

Referências úteis:

Além disso, Kristina Chodorow fornece esta excelente resposta sobre a relação entre MongoDB Indexes e RAM

ATUALIZAÇÃO:

Após a atualização fornecendo a saída .explain(), vejo o seguinte:
  • A consulta está atingindo o índice.
  • nscanned é o número de itens (documentos ou entradas de índice) examinados.
  • nscannedObjects é o número de documentos verificados
  • n é o número de documentos que correspondem aos critérios especificados
  • seu conjunto de dados tem 300.393 entradas, que é o número total de itens no índice e os resultados correspondentes.

Posso estar lendo errado, mas o que estou lendo é que todos os itens da sua coleção são resultados válidos. Sem conhecer seus dados, parece que cada item contém a tag "avi". A outra coisa que isso significa é que esse índice é quase inútil; os índices fornecem o maior valor quando trabalham para restringir o campo resultante o máximo possível.

Do MongoDB "Conselhos e perguntas frequentes sobre indexação " página: