2016-12-08 2 views
2

ページングを実装しようとしており、TOP、TAKE、およびMAXITEMSの違いを理解できていません。DocumentDbのページングとTOP対TAKEとMAXITEMS

私は彼らが別の場所に置かれていることは知っていますが、同じことをしているようです。

TOP対テイクは、SQL対LINQのように見えます。しかし、これはMaxItemsとどう違うのでしょうか?

TIA

ビル

答えて

2

MaxItemsすることにより、あなたはMaxItemCountを意味するのですか?

この場合、FeedOptionsに設定され、ドキュメントクエリによって返される結果のバッチのサイズが制御されます。 https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.documents.client.feedoptions.maxitemcount.aspx#P:Microsoft.Azure.Documents.Client.FeedOptions.MaxItemCountから取られた以下の例を参照してください:上記の例では

// Fetch query results 10 at a time. 
var queryable = client.CreateDocumentQuery<Book>(collectionLink, new FeedOptions { MaxItemCount = 10 }); 
while (queryable.HasResults) 
{ 
    FeedResponse<Book> response = await queryable.ExecuteNext<Book>(); 
} 

を、あなたは、10件の結果時にクエリの結果を反復処理しています。

さらに違いを説明するには、TOP 50を含むクエリをMaxItemCount 10で定義することが理にかなっています。これは、データベースで上位50の結果を取得していますが、結果を10アイテムずつ取得することを意味します。

+0

はい、MaxItemsCountです。ごめんなさい。私は(私の悪い)記憶からこれをやっていた。 TOPとTAKEは基本的に同じ結果を出します。これは結果セット全体をデータベースから制限することです。 MaxItemsCountはフィードバッチサイズを制御するだけです。ありがとう、それは多くの助けとなりました。 – nhwilly

関連する問題