パフォーマンス
途中経過ですが、今までに試したことを書いておきます。
【条件】
・対象が10000件のデータで、S2Pagerを使って9990件〜10000件の10件の取得をおこなう。
(対象件数が増えれば差は広がるはずです)
・対象テーブルのカラム数は2つで、IDとNAME。
IDは数バイト、NAMEは数百バイトの文字列
・HSQLDB、PostgreSQLはテスト実行マシンと同一ノードで実行。
Oracleは別ノード
(別ノードにDBをおけば、さらにパフォーマンスの差が出ると思います)
【結果】
・HSQLDB1.7.2ではスクロール可能ResultSetを使うとパフォーマンスが落ちる。
→メモリ内で処理されるため、nextが異常にはやい?
・PostgreSQL8.0(Win)+JDBC3のドライバでは、
1行のデータ量が少ない場合
スクロール可能ResultSetを使わないで空回ししたほうが早い
1行のデータ量が多い場合
スクロール可能ResultSetのほうが2倍以上の早さ。
S2Daoでは1行のデータ量は多くなる傾向があるので、
スクロール可能ResultSetが有効に働くはず。
・Oracle8.1.7
Thinドライバではスクロール可能ResultSetは使えない。
Type2ドライバなら、使えたはず。
Type2の検証は未検証。