Search:

Search all manuals
Search this manual
Manual
Couchbase Server マニュアル 2.0
Community Wiki and Resources
Couchbase Server 2.0をダウンロード
Couchbase 開発者ガイド 2.0
クライアントライブラリ
Couchbase Server フォーラム
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.8 ビューへのクエリ
Chapter Sections
Chapters

9.8.3. ページネーション

結果のページネーションはskiplimitパラメータを利用して実現できます。たとえば、ビューから最初の10レコードを取得するには:

?limit=10

次の10レコードは、次のように指定して取得することができます:

?skip=10&limit=10

サーバでは、skipオプションは、クエリが実行され、skipで指定された数までレコードの出力を文字通りスキップすることを繰り返して動作し、そのあとlimitが指定されていればlimitで指定されたレコードになるまでデータを記憶するものを返します。

skipにより大きな値を使用したページネーションをするとき、レコードのスキップの繰り返しによるオーバヘッドが重大な問題となることがあります。より良い解決策は、(limitパラメータを使用した)最初のクエリでのドキュメントIDの出力を追跡することです。 そして最後に出現したドキュメントIDを特定するためにstartkey_docidを使用し、そのレコードをスキップし、次の10レコードを出力します。

それゆえ、ページングの順番はこのようになります、最初のクエリでは:

?startkey="carrots"&limit=10

生成された出力での最後のドキュメントIDを記憶し、次のように使用してください:

?startkey="carrots"&startkey_docid=DOCID&skip=1&limit=10

startkey_docidを使用するとき、startkeyパラメータを検索する情報を特定するために指定しなければなりません:startkey_docidパラメータを使用することによって、Couchbase ServerはドキュメントIDを特定するためのB-Treeインデックスを使用してスキップします。これは、上記のskip/limitの例よりもはるかに高速です。