MongoDB Find クエリの順序付きデータ構造と順序なしデータ構造
MongoDB クエリで Find メソッドを使用する場合、開発者は、 bson.M または bson.D データ構造を使用してフィルタリングします。ドキュメントで述べたように、要素の順序が重要な場合は bson.D を使用し、それ以外の場合は bson.M を使用する必要があります。
クエリ プランの生成
1よくある質問は、順序付きデータ構造 (bson.D) または順序なしデータ構造 (bson.M) の選択が、MongoDB クエリによって生成されるクエリ プランに影響するかどうかです。 optimizer.
オプティマイザー インテリジェンス
従来の SQL データベースでは、オプティマイザーがインデックスと要約統計を利用して実行を最適化する機能があるため、通常、クエリ順序は重要ではありません。 MongoDB も同様の動作を示しますか?
MongoDB のフィルター順序の処理
答え: いいえ、一般にフィルター内のフィールドの順序は異なります。 MongoDB オプティマイザーによって生成されたクエリ プランには影響しません。 MongoDB サーバーは、フィールドが指定された順序に関係なく、既存のインデックスを効果的に識別して利用できます。これは、単純インデックスと複合インデックスの両方に当てはまります。したがって、単純さと明確さのために、フィルターに bson.M を使用できます。
順序が重要な場合
ただし、フィールドの順序は特定のシナリオに関連します。
以上がMongoDB のクエリ順序はクエリ プランに影響しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。