パフォーマンス

途中経過ですが、今までに試したことを書いておきます。

【条件】
・対象が10000件のデータで、S2Pagerを使って9990件〜10000件の10件の取得をおこなう。
 (対象件数が増えれば差は広がるはずです)

・対象テーブルのカラム数は2つで、IDとNAME。
 IDは数バイト、NAMEは数百バイトの文字列
HSQLDBPostgreSQLはテスト実行マシンと同一ノードで実行。
 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の検証は未検証。