データベースからの結果セットを「ページング可能」にする際の原則または実装は何ですか?
メモリに保存せずに 100 万件を超えるレコードをページングするにはどうすればよいでしょうか? 100 ページあるときに 5 から 50 番目のページ番号に「ジャンプ」できるのは何ですか?
ページングがどのように行われるかについて、疑似コードのような説明を探しています。
データベースからの結果セットを「ページング可能」にする際の原則または実装は何ですか?
メモリに保存せずに 100 万件を超えるレコードをページングするにはどうすればよいでしょうか? 100 ページあるときに 5 から 50 番目のページ番号に「ジャンプ」できるのは何ですか?
ページングがどのように行われるかについて、疑似コードのような説明を探しています。
通常、[次へ] ボタンの URL には、ページをレンダリングするデータベース クエリを変更する何かがあります。次に、そのレンダリングされたページは、次の URL でインデックスをバンプします。
したがって、ページ 1 は LIMIT 20 を持つ SQL 要求である可能性があり、ページ 2 も LIMIT 20 だけでなく OFFSET 20 も持つ可能性があります。
そのため、基本的にそのモデルでは一度に 20 個のアイテムのみが読み込まれますが、ページはオフセットされたアイテムの数も読み込み、「次のページ」の URL を変更します。
通常、ページが次のリンクを表示する必要があるかどうかを判断できるように、アイテムの総数に対して相対的な位置を確認する機能もあります。
基本的な前提は、次のことを覚えておくことです。
PAGE_SIZE
)var numPages = totalNumRecords / PAGE_SIZE;
Page = 1
Skip((page - 1)*PAGE_SIZE).Take(PAGE_SIZE);
結果のデータ ソースにアクセスすると、必要なレコードのセットにスキップして、所定の量を取得します。うまくいけば、これは理にかなっています。