MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Има ли начин да принудите mongodb да съхранява определен индекс в ram?

Не. MongoDB позволява на системата да управлява това, което се съхранява в RAM.

С това казано, трябва да можете да запазите индекса в RAM, като изпълнявате заявки срещу индексите (вижте подсказване на заявка ) периодично, за да не остареят.

Полезни препратки:

Освен това Кристина Чодороу предоставя този отличен отговор относно връзката между MongoDB индексите и RAM

АКТУАЛИЗАЦИЯ:

След актуализацията, предоставяща изхода .explain(), виждам следното:

  • Заявката попада в индекса.
  • nscanned е броят на проверените елементи (документи или индексни записи).
  • nscannedObjects е броят на сканираните документи
  • n е броят на документите, които отговарят на зададените критерии
  • вашият набор от данни е 300393 записа, което е общият брой елементи в индекса и съответстващите резултати.

Може да чета това погрешно, но това, което чета е, че всички елементи във вашата колекция са валидни резултати. Без да знаем вашите данни, изглежда, че всеки елемент съдържа етикета "avi". Другото нещо, което това означава е, че този индекс е почти безполезен; индексите осигуряват най-голяма стойност, когато работят за стесняване на резултантното поле възможно най-много.

От "Съвети за индексиране и ЧЗВ " страница:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да сравните скриптове mongodb/mongoid за сравняване на две различни техники за заявки

  2. Агрегиране на Mongodb:$reduce не работи според очакванията

  3. Elem match връща всички данни, докато имам нужда само от избраните данни

  4. Как да търсите поле с масив във вложен поддокумент mongodb?

  5. Агрегиране на Mongodb по дни въз основа на unix timestamp