
Explanation:

この質問は、AI-200の目標「Azure Cosmos DB for NoSQLを使用してAIソリューションを開発する」に直接対応しており、クエリの実行、クエリのパフォーマンスの最適化、およびリクエストユニット(RU)消費量の最適化が含まれます。
ステートメント 1: いいえ - 最小スループットは 400 RU/s ではありません。
PowerShell コマンドは、以下の内容でコンテナをプロビジョニングします。
-AutoscaleMaxThroughput 5000
Azure Cosmos DB の自動スケーリングは、構成された最大スループットの約 10% ~ 100% の範囲で動作します。Microsoft のドキュメントには、5,000 RU/s でプロビジョニングされた自動スケーリング コンテナーが 500 RU/s から 5,000 RU/s の間でスケーリングされる例が具体的に示されています。したがって、このコンテナーの場合、最小動作自動スケーリング スループットは 400 RU/s ではなく 500 RU/s です。
したがって:
「コンテナの最小スループットは400 RU/秒です。」 # いいえ
ステートメント 2: いいえ - 最初のクエリはパーティション内クエリではありません。
コンテナは以下を使用します。
/従業員ID
パーティションキーとして。
最初のクエリは次のとおりです。
SELECT * FROM c WHERE c.EmployeeId > ' 12345 '
クエリはパーティションキーを参照していますが、等価述語ではなく範囲述語(>)を使用しています。
Microsoft は、パーティション キーに対する範囲フィルタは単一の物理パーティションにスコープされないことを明示的に述べています。
パーティション内クエリとして認められるためには、フィルタは適用可能なパーティションを識別する必要があり、通常は次のような等価述語を使用します。
WHERE c.EmployeeId = '12345'
Microsoft のドキュメントには、基本的に同じ例が示されています。DeviceId でパーティション分割されたコンテナに対して DeviceId > ... を使用するクエリは、パーティション内クエリではありません。
したがって:
「最初のクエリ文はパーティション内クエリです。」 # いいえ
ステートメント 3: はい - 2 番目のクエリはクロスパーティション クエリです。
2つ目のクエリは次のとおりです。
SELECT * FROM c WHERE c.UserId = ' 12345 '
コンテナーのパーティションキーは /EmployeeId であり、/UserId ではありません。クエリにパーティションキーに関するフィルタが含まれていないため、Azure Cosmos DB はクエリを単一の論理パーティションにルーティングできません。クエリは該当する物理パーティション全体に分散され、結果が結合されます。
マイクロソフトはこの動作について次のように直接説明しています。クエリにパーティションキーに対するフィルタが含まれていない場合、クエリはパーティションをまたいで実行される必要があります。
したがって:
「2番目のクエリ文はクロスパーティションクエリです。」 # はい