簡単な説明:
属性理解モードに直接入ります。これは、次の状況に特に適しています:
例:
注文データ ドキュメントには、作成時間、支払い時間、発送時間など、実際には記録する必要がある時間がたくさんあります。等データ構造を設計するとき、当然最初に次のことが思い浮かびます:
実際、時間型が比較的少ない場合、この設計には大きな問題はありません。 , しかし、実際のビジネス シナリオでは、注文に必要な時間が短すぎることはありません。場合によっては、並べ替えを最適化するために、対応するインデックスを作成する必要があります。そこで問題が発生します。インデックスを 1 つ作成する場合非常に多くのフィールドに基づいて 1 つずつ作成すると、多数のフィールドを作成できるため、実際にコストが削減され、全体的なクエリのパフォーマンスが向上します。したがって、現時点では属性モードを使用することが非常に適切です。以下に示すように:
このモードを順序データ構造で考慮すると、同様のフィールド サブセットに繰り返しインデックスを付ける必要がなくなり、クエリ効率が大幅に向上します。
結論:
属性モードでは、各ドキュメント内の多くの同様のフィールドに対して、より簡単なドキュメント インデックスが提供されます。このデータのサブセットをキーと値のサブドキュメントに移動することにより、未定義のフィールド名を使用し、情報に追加の修飾子を追加して、元のフィールドと値の関係をより明確に示すことができます。属性パターンを使用すると、必要なインデックスが少なくなるため、クエリがよりシンプルかつ高速になります。
SQL 関連の技術記事の詳細については、SQL チュートリアル 列にアクセスして学習してください。
以上がMongoDB – スキーマを使用して構築された属性スキーマの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。