MongoDB では、bson.M のいずれかを使用して検索クエリを構築できます。 (順序なし) または bson.D (順序付き) ドキュメント。ドキュメントでは、要素の順序が重要な場合は bson.D を使用することを推奨しています。
主な問題は、順序付き構造と順序なし構造の使用が、MongoDB のクエリによって生成されるクエリ プランに影響を与えるかどうかです。 optimizer.
ほとんどの場合、bson.M またはbson.D はクエリ プランの最適化には影響しません。 MongoDB のオプティマイザーは、フィルター内のフィールドの順序に関係なく、適切なインデックスを識別して使用できるほどインテリジェントです。これは、複数のフィールドにまたがる複合インデックスの場合にも当てはまります。
ただし、フィルター内のフィールドの順序が重要になる場合があるいくつかの例外があります。
フィールドの順序が重要でない検索クエリの場合、通常は、その単純さと簡潔さのため bson.M が好まれます。並べ替えの場合、または挿入されたドキュメントのフィールド順序を維持することが重要な場合は、bson.D を使用する必要があります。
以上がMongoDB 検索クエリの bson.D と bson.M: クエリの最適化に順序は重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。