sql >> データベース >  >> NoSQL >> MongoDB

mongodbに特定のインデックスをRAMに保存するように強制する方法はありますか?

    いいえ。MongoDBを使用すると、システムはRAMに保存されているものを管理できます。

    そうは言っても、インデックスに対してクエリを実行することで、インデックスをRAMに保持できるはずです(クエリヒント )定期的に古くなるのを防ぎます。

    役立つ参考資料:

    さらに、Kristina Chodorowは、このMongoDBインデックスとRAMの関係に関する優れた回答 を提供しています。

    更新:

    .explain()出力を提供する更新後、次のように表示されます。

    • クエリがインデックスにヒットしています。
    • nscannedは、調査されたアイテム(ドキュメントまたはインデックスエントリ)の数です。
    • nscannedObjectsは、スキャンされたドキュメントの数です
    • nは、指定された基準に一致するドキュメントの数です
    • データセットは300393エントリで、これはインデックス内のアイテムの総数と一致する結果です。

    私はこれを間違って読んでいるかもしれませんが、私が読んでいるのは、あなたのコレクションのすべてのアイテムが有効な結果であるということです。データがわからないと、すべてのアイテムに「avi」というタグが含まれているように見えます。これが意味するもう1つのことは、このインデックスはほとんど役に立たないということです。インデックスは、結果のフィールドを可能な限り絞り込むために機能する場合に最大の価値を提供します。

    MongoDBの"インデックス作成のアドバイスとFAQ "ページ:



    1. Apollo / GraphQL:ネストされた要素を取得する方法は?

    2. 一定時間後にノードアプリが応答しなくなる

    3. スケーラビリティが関係ない場合のNoSQLとSQL

    4. 値がターゲットのソートされたセットに存在する最高スコアよりも大きいスコアを持つ場合のzaddの時間計算量