sql >> Databáze >  >> NoSQL >> MongoDB

Existuje způsob, jak přinutit mongodb, aby uložil určitý index v paměti ram?

Ne. MongoDB umožňuje systému spravovat, co je uloženo v paměti RAM.

Díky tomu byste měli být schopni udržet index v paměti RAM spuštěním dotazů na indexy (podívejte se na nápověda k dotazu ) pravidelně, aby nedošlo k jejich zatuchnutí.

Užitečné odkazy:

Kristina Chodorow navíc poskytuje tuto výbornou odpověď týkající se vztahu mezi indexy MongoDB a RAM

AKTUALIZACE:

Po aktualizaci poskytující výstup .explain() vidím toto:

  • Dotaz naráží na index.
  • nscanned je počet prozkoumaných položek (dokumentů nebo položek rejstříku).
  • nscannedObjects je počet naskenovaných dokumentů
  • n je počet dokumentů, které odpovídají zadaným kritériím
  • vaše datová sada má 300393 položek, což je celkový počet položek v indexu a odpovídající výsledky.

Možná to čtu špatně, ale co čtu, je, že všechny položky ve vaší sbírce jsou platné výsledky. Bez znalosti vašich údajů by se zdálo, že každá položka obsahuje značku „avi“. Další věc, která to znamená, je, že tento index je téměř k ničemu; indexy poskytují největší hodnotu, když se snaží co nejvíce zúžit výsledné pole.

Z výstupu MongoDB "Rady a časté dotazy k indexování " stránka:



  1. jak importovat datový soubor .csv do databáze Redis

  2. Jak získat více hodnot seznamu v jednom volání v RedisTemplate klienta Jedis

  3. Závazek a perzistence disku v NoSQL (MongoDB)

  4. MongoDB se nepřipojí k MongoHQ pomocí Mongoidu