• ベストアンサー

OracleのSelect文で分割取得する方法

お世話になります。 Servlet + JDBC + Oracle9iで100件のデータの内最初に上位20件を取ります、その後21件目から40件目までを分割で取得したいのです。 なにをやりたいかというと、検索結果一覧画面を表示したときにページ制御をしたいのです。 今までは、Select文で全件を取得した後にServlet内で20件ずつ表示しておりましたが、検索結果が多い場合には、レスポンスの劣化が考えられるため、Select文で全件取得は避けたいのです。 皆様はどのようにされているのでしょうか? お忙しいとは思いますが、よろしくお願いします。

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

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

> 検索結果が多い場合には、レスポンスの劣化が考え > られるため、Select文で全件取得は避けたいので その通りです。絶対にレスポンスが落ちます。 できるだけOracle上で絞り込んでください。 「ROWNUM」「ROW_NUMBER」あたりで検索すると出てきます。 以下のページは結構参考になりますよ。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj04_2.htm
takataka111
質問者

お礼

ありがとうございます。 参考urlはとても役に立ちそうですね、「row_NUMBER」 で実現できそうです。 またよろしくお願いします。

関連するQ&A