0

多数の大きなテーブル (数千万行) を含む OData フィードがあります。この OData フィードにアクセスするには、PowerQuery (または PowerPivot、ジョブに最適なツール) を構成する必要がありますが、1 つの要求で一度に 1,000 万行が返されないように、ページ分割された方法で行う必要があります。代わりに、複数のページ分割されたクエリを使用して、数千万行の完全な結果を構築します。$top と $skip の値が異なる多数の URL を手動で送信して手動でページネーションを行う必要はありません。代わりに、PowerQuery または PowerPivot でページネーションを処理する必要があります。

おそらく最初に「カウント」クエリを発行して存在する行数を判断することにより、PQ/PPがページネーションを行うのに十分スマートであることを望んでいましたが、そうではないようです. PQ/PP に大規模な OData テーブルへの URL を指定すると、すべての行を取得するためのクエリがやみくもに発行され (実際には、このような同一のクエリが 2 回発行されますが、奇妙に思えます)、サーバー上の DB がクラッシュします。

答えを探していると、PQ/PP がページネーションを実行できるというヒントを見てきましたが、この動作を有効にする方法についての手がかりはありません。PQ/PP にある種のページネーションを使用して大規模なデータセットにアクセスするように指示する方法はありますか? もしそうなら、ページサイズを設定できますか?

4

2 に答える 2

0

Web API を使用している場合、EnableQueryAttribute に PageSize を設定できますか。

[EnableQuery(PageSize = 10)]
public IHttpActionResult Get()
{
  return Ok(customers);
}
于 2015-01-08T06:53:43.947 に答える