JDBC で一度に複数の行を抽出する方法はありますか? (クラスの) 次のメソッドResultSet
では、一度に 1 行ずつ処理できます。
私のクエリは何千もの行を返します (行ごとに 1 つの列のみ)。行は非常に無駄がなく、列の値を抽出したいだけです。このユース ケースでは、一度に 1 行ずつ次の行をループすると非常に遅くなります。
ResultSet は一度に 1 行しか返しませんが、jdbc ドライバーは Statement.setFetchSize() で指定した量の行をフェッチする必要があります。
void setFetchSize(int 行)
この Statement によって生成された ResultSet オブジェクトにさらに行が必要な場合に、データベースからフェッチする必要がある行数に関するヒントを JDBC ドライバーに提供します。
Statement/PreparedStatement を作成するときに、フェッチ方向を適切に設定することもお勧めします。