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

Mongodbインデックスはどのように機能しますか?

    インデックス内のフィールドの順序が重要です。検索と並べ替えの例に最適な複合インデックスは、実際には次のようになります。

    db.test.ensure_index([("xxx",1),("_id",-1)])
    

    検索条件はフィールド「xxx」にあるため、このフィールドをインデックスの最初に配置すると、_idで検索するよりも多くの結果が見つかります。 次に、xxxに一致するドキュメントにフィルタリングします 基準。

    nを見ると allPlansのクエリオプティマイザによって考慮される各プランの番号 、BtreeCursor xxx_1 インデックスは実際に最も多くの結果を返します(34)。他のインデックスは9、10、および16の結果を返すため、特定の検索条件では効率が低下します。

    インデックスの最適化の詳細については、次の記事が非常に役立ちます:​​MongoDB複合インデックスの最適化




    1. 複数のフィールドで$unwindを実行してから$groupを実行すると、mongo$sumが合成されます

    2. 転送中の暗号化を使用してAWSElastiCacheに接続する

    3. Mongodbでの日付による集計

    4. PHPからのMongoDBコレクションrunCommand