dポイントプレゼントキャンペーン実施中!

JSP+Servletでのページングの実装方法について伺いたいと思い、
質問いたしました。

現在JSP+ServletでWebページを製作しておりますが、
ページングを行うデータの取得方法で悩んでおります。

データをDBから取得する際は、下記1と2のどちらが標準的な実装方法なのでしょうか???
条件としては、レコード件数2000件のテーブルからデータを取得し、1ページ10件ずつ表示します。
また、APサーバとDBサーバの通信がボトルネックになることはない場合でお願いします
1.全件を最初に取得しておいて、ページ切り替えの際は、DB接続なしで表示する
2.ページに表示する件数分のみDBから取得し、ページ切り替えの際は、毎回必要な件数分取得する

1の方法ですと、常に全件をキャッシュしていることになり、パフォーマンスが心配です。
2の方法ですと、ページ制御が煩雑になりそうな気がします。

A 回答 (2件)

どっちも一般的で、


どちらも利用されています。
ただし、どっちを利用するかは
サーバのスペックや想定される検索件数なんかで
決める必要があります。

1の特徴
・メモリの圧迫大
・ページ遷移の早さ
・検索結果時のテーブルの内容でページ遷移できること。

2の特徴
・最小のメモリ圧迫
・ページ遷移ごとにDBに接続しないといけない
・ページ遷移前と後で、テーブルの内容が変わっている可能性がある。
    • good
    • 0
この回答へのお礼

お答えいただき、ありがとうございます。
確かに、サーバスペックや想定件数などで変わりますよね。
上記の他にも、同時アクセス数によっても変わるような気もしますし、
一概にどっちが普通だとは言えないんですね。

言語は違いますが、PHPのフレームワークの処理を見ていると、ほとんど2で実施しているみたいだったので、1の考え方は古いのかな?とか考えておりました。
ありがとうございました。

お礼日時:2011/03/29 00:31

(2)が一般的な気がします。


ただ、メモリに余裕があって、情報のリアル性が求められないのであれば(1)でも構わないのではないでしょうか。
    • good
    • 0
この回答へのお礼

お答えいただき、ありがとうございます。
結局顧客の要望次第って部分が大きいんですね。
ありがとうございました。

お礼日時:2011/03/29 00:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています