AI活用の教科書
API開発やさしい2分で読了

ページネーション

Paginationぺーじねーしょん

ひとことで言うと

大量のデータを一度に返さず、本のページのように小分けして取り出す仕組みです。

📖 もうちょい詳しく

何が新しいの?

ページネーションは、たくさんのデータを「1ページぶんずつ」区切って返すやり方です。検索結果が1万件あっても、いっぺんに全部わたすと表示も通信も重くなります。そこで「最初の20件」「次の20件」と小分けにして、必要な分だけ取り出します。

どうやって動いてるの?

よくあるのは、何番目から何件ほしいかを指定する方法です。たとえば「21件目から20件」のように、開始位置(offset)と件数(limit)を伝えます。もう一つは「前回の最後の位置」を目印にして、その続きを取りにいくやり方(カーソル方式)です。サーバーは指定された範囲だけを切り出して返します。

何ができるの?

通信するデータが軽くなるので、画面の表示がすばやくなります。「次へ」ボタンや、下までスクロールすると自動で続きが読み込まれる動き(無限スクロール)も、裏側はこの仕組みです。一覧画面のほとんどは、これで動いていると思って大丈夫です。

🌱 身近なたとえ

分厚い辞書で例えると分かりやすいです。辞書を全ページ一気に広げて読む人はいませんよね。開いているのは今見ているページだけで、必要になったらめくって次へ進みます。ページネーションも同じで、データという辞書を「今いるページ」だけ広げて、続きはめくるたびに取り出します。

✅ まず覚えるポイント

  • 大量のデータを「1ページぶんずつ」に区切って返す仕組みです
  • 全部いっぺんに返さないので、表示も通信も軽くなります
  • 「何番目から何件」を指定する方式が、いちばん基本です
  • もう一つ「前回の続きから」をたどるカーソル方式もあります
  • 「次へ」ボタンや無限スクロールの裏側で使われています

🧭 よくある勘違い

全部のデータを取ってから、画面で切り分けているの?

いいえ、それだと結局すべて受け取ることになり、軽くなりません。ページネーションは、サーバー側で必要な範囲だけを切り出してから返すのが基本です。だから件数が増えても、毎回やりとりするデータ量は小さく保てます。

「次へ」をめくっている間にデータが増えたらどうなるの?

新しいデータが追加されたり消えたりすると、番号で位置を数える方式では、表示が1件ずれたり重複することがあります。こうしたズレに強いのがカーソル方式で、SNSのタイムラインなど更新の多い場面でよく使われます。

🧩 関連して覚えると楽な言葉

  • REST: Webのデータをやり取りする代表的な設計ルール。一覧取得でページネーションをよく使います
  • クエリ(query): 何件ほしい、何番目から、といった条件をサーバーに伝える要求のこと
  • エンドポイント(endpoint): データを取りにいく窓口のURL。ページの指定もここへ渡します
  • レイテンシ(latency): 返事が返るまでの待ち時間。データを小分けにすると、この待ちが短くなります

🏁 ひとことでまとめ

ページネーションは、たくさんのデータを辞書のページのように区切り、いま必要な分だけ取り出すための工夫です。