• ベストアンサー

JSP+Servletでのページングの常識

JSP+Servletでのページングの実装方法について伺いたいと思い、 質問いたしました。 現在JSP+ServletでWebページを製作しておりますが、 ページングを行うデータの取得方法で悩んでおります。 データをDBから取得する際は、下記1と2のどちらが標準的な実装方法なのでしょうか??? 条件としては、レコード件数2000件のテーブルからデータを取得し、1ページ10件ずつ表示します。 また、APサーバとDBサーバの通信がボトルネックになることはない場合でお願いします 1.全件を最初に取得しておいて、ページ切り替えの際は、DB接続なしで表示する 2.ページに表示する件数分のみDBから取得し、ページ切り替えの際は、毎回必要な件数分取得する 1の方法ですと、常に全件をキャッシュしていることになり、パフォーマンスが心配です。 2の方法ですと、ページ制御が煩雑になりそうな気がします。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

どっちも一般的で、 どちらも利用されています。 ただし、どっちを利用するかは サーバのスペックや想定される検索件数なんかで 決める必要があります。 1の特徴 ・メモリの圧迫大 ・ページ遷移の早さ ・検索結果時のテーブルの内容でページ遷移できること。 2の特徴 ・最小のメモリ圧迫 ・ページ遷移ごとにDBに接続しないといけない ・ページ遷移前と後で、テーブルの内容が変わっている可能性がある。

noname#145754
質問者

お礼

お答えいただき、ありがとうございます。 確かに、サーバスペックや想定件数などで変わりますよね。 上記の他にも、同時アクセス数によっても変わるような気もしますし、 一概にどっちが普通だとは言えないんですね。 言語は違いますが、PHPのフレームワークの処理を見ていると、ほとんど2で実施しているみたいだったので、1の考え方は古いのかな?とか考えておりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

(2)が一般的な気がします。 ただ、メモリに余裕があって、情報のリアル性が求められないのであれば(1)でも構わないのではないでしょうか。

noname#145754
質問者

お礼

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

すると、全ての回答が全文表示されます。