3

INDocumentDB クエリでステートメントを使用することは可能ですか? お気に入り:

SELECT * FROM  c  where c.FormId in(1,2,3,4,5,6,7,8,9,10)

OR制限があるので使いたくない(6個のみ)

where (c.FormId =1 or c.FormId= 2 or c.FormId =3
Or c.FormId = 4  Or c.FormId=5 Or c.FormId=6)
4

1 に答える 1

2

EDIT クエリでの IN (およびその他の) キーワードのサポートを発表しました http://azure.microsoft.com/blog/2015/05/06/new-documentdb-sql-keywords-operators-and-functions/

今日; これにアプローチするには2つの方法があります

1)これを行うUDFを作成し、selectで使用します

2) または、ID ごとに個別のクエリを作成することもできます。

これには複数のサーバー ラウンドトリップが含まれることはわかっていますが、アプリが DocumentDB サービスに関連して存在する場所によっては、複数のクエリを並行して実行することはおそらくそれほど悪くはありません。

このように単一の述語で複数のクエリを発行すると、デフォルトで存在するプロパティのハッシュ インデックスを使用するため、クエリが非常に効率的になります。

SELECT の WHERE 部分で UDF を使用すると、スキャンが実行され、パフォーマンスが最適化されず、クエリ料金が高くなる可能性があります。

PS。IN 演算子のサポートがネイティブに追加されることを希望する場合は、http://feedback.azure.com/forums/263030-documentdb/suggestions/6395357-in-operator で投票してください。

于 2015-02-27T21:43:16.470 に答える