DataStaxドライバーを使用した結果ページング

大きな結果セットは、クライアントが個別のネットワーク要求で取得する複数のページに分割できます。

大きな結果セットは、クライアントが個別のネットワーク要求で取得する複数のページに分割できます。

ページ・サイズは、サーバーから一度に返される行数を示します。サーバーは、各応答でページング状態を返します。これは、次の要求のバイナリ・トークンであり、どこから再起動するかを示します。

1. 結果ページングの例

結果ページングの例

ページングAPIは各ドライバーに固有ですが、すべて共通の機能セットを共有しています。

  • ページングは、デフォルトで、構成可能なオプション設定で有効になっています。
  • クエリーごとにページ・サイズをオーバーライドしたり、個々のクエリーでページングを無効にしたりできます。
  • 結果オブジェクトは、ページング状態を操作したり、クエリーを明示的に再実行したりせずに、次のページを直接フェッチする方法を提供します。
  • ページング状態は、特定の結果オブジェクトから抽出し、後でクエリーに再注入できます。このオプションは、複数の実行にわたって状態を保持する必要がある場合に役立ちます。たとえば、ステートレスREST Webサービスでは、次のページへのリンクでページング状態をエンコードすることにより、ユーザーが中断した場所にシームレスにナビゲートできます。
注: ページング状態はさまざまなパーティションにアクセスするように偽造される可能性があるため、安全でない環境ではプレーン・テキストで公開しないでください。

一部のドライバー(C#、Java、Node.js、およびPython)は、反復がページの境界を越えるときにバックグラウンド・フェッチをトリガーすることにより、結果セット全体を透過的に探索する方法を提供します。

1. ドライバー用の結果ページング
C/C++ C# Java Node.js PHP Python Ruby