Claude Codeでカーソルページネーションを設計する:大量データの高速ページング・ソート安定性・無限スクロール

はじめに 「OFFSET/LIMITページネーションが1000ページ目あたりから遅い」「ページ表示中に新データが追加されて同じ投稿が2回出た」——カーソルベースページネーションで大量データを高速に、かつ安定してページングする設計をClaude Codeに生成させる。 CLAUDE.mdにカーソルページネーション設計ルールを書く ## カーソルページネーション設計ルール ### カーソルの設計...

By · · 1 min read
Claude Codeでカーソルページネーションを設計する:大量データの高速ページング・ソート安定性・無限スクロール

Source: DEV Community

はじめに 「OFFSET/LIMITページネーションが1000ページ目あたりから遅い」「ページ表示中に新データが追加されて同じ投稿が2回出た」——カーソルベースページネーションで大量データを高速に、かつ安定してページングする設計をClaude Codeに生成させる。 CLAUDE.mdにカーソルページネーション設計ルールを書く ## カーソルページネーション設計ルール ### カーソルの設計 - カーソル = ソートキーの値をBase64エンコードしたもの - 複合ソート(created_at DESC, id DESC)で安定したページングを保証 - カーソルは不透明(クライアントはparse不要、そのまま次のリクエストに使う) ### クエリの効率化 - WHERE created_at < cursor_created_at OR (created_at = cursor_created_at AND id < cursor_id) - id列にインデックスがあれば高速(OFFSET/LIMITと違いフルスキャン不要) - 最後のページかどうかはlimit+1件取得して判定 ### API設計 - レスポンス: { data: [...], nextCursor: string | null, hasMore: boolean } - nextCursorがnullで全データ取得完了 - prevCursorは持たない(戻るはfirstPageに戻す設計を推奨) カーソルページネーション実装の生成 カーソルベースページネーションを設計してください。 要件: - 複合ソートキーによる安定ページング - Base64カーソルエンコード - 双方向ページング - GraphQL/REST両対応 生成ファイル: src/pagination/ 生成されるカーソルページネーション実装 // src/pagination/cursorPagination.ts — カーソルページネーションエンジン export interface PageInfo { hasNextPage: boolean; hasPreviousPage: boolean; startCursor: string | null; endCursor: string | null; } e

Similar Topics

#ai (16747) #programming (3999) #large language models (3406) #security (717) #webdev (254) #javascript (229) #opensource (171) #api (110) #node (42) #nextjs (28) #fix (21) #html (17) #css (17) #feat (17) #code generation (11) #chore (10) #backbonejs (6) #modernization (6) #es6 (6) #redis (3)

Related Posts

Trending on ShareHub

Latest on ShareHub

Browse Topics

#artificial intelligence (31552) #data science (24017) #ai (16738) #generative ai (15034) #crypto (14987) #machine learning (14680) #bitcoin (14229) #featured (13550) #news & insights (13064) #crypto news (11082)

Around the Network