Skip to content

Cursor Pagination

游標式分頁

01你是不是遇到這個 / THE SYMPTOM

我的列表資料很多要分頁載入,但一邊滑一邊有新資料插進來,結果換頁時出現重複或漏掉某幾筆;或者用「第幾頁」去翻很後面時越來越慢

↑ 如果你點頭了,你要的關鍵字就是 Cursor Pagination

02這是什麼 / DEFINITION

Cursor Pagination 是用「上一批最後一筆的位置標記(游標,通常是某個唯一且有序的欄位值)」當作下一批的起點,而不是用「第幾頁、跳過幾筆」。它對「資料會即時增減」和「深度翻頁」都更穩、更快。

03什麼時候用 / WHEN TO USE

無限捲動的動態列表(社群動態、留言、即時資料)、資料量大且常變動、或用 offset 翻到深頁效能明顯變差時。API 回傳時通常會附一個 next_cursor。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

把我的列表 API 從 offset 分頁改成 cursor pagination,用 created_at 加 id 當游標,回傳 items 和 next_cursor,前端用 next_cursor 載入下一批
05常見坑 / WATCH OUT

別跟 offset/limit(page 第幾頁)分頁搞混:offset 簡單、可隨意跳頁,但資料一變動就會重複/漏資料、且深頁慢。cursor 穩又快,代價是不能任意跳到「第 50 頁」、只能一批接一批。游標欄位必須唯一且穩定排序,單用 created_at 遇到同秒多筆會出包,通常要再加 id 當決勝。

06相關的詞 / RELATED