結果セットの公式ドキュメントからこのページを読む必要があります 。と書いてあります
デフォルトでは、ResultSetは完全に取得され、メモリに保存されます。ほとんどの場合、これが最も効率的な操作方法であり、MySQLネットワークプロトコルの設計により、実装が簡単です。多数の行または大きな値を持つResultSetを使用していて、必要なメモリ用にJVMにヒープスペースを割り当てることができない場合は、一度に1行ずつ結果をストリーミングするようにドライバーに指示できます。
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
転送専用、読み取り専用の結果セットと、フェッチサイズがInteger.MIN_VALUEの組み合わせは、結果セットを行ごとにストリーミングするためのドライバーへのシグナルとして機能します。この後、ステートメントで作成された結果セットは行ごとに取得されます。
実際には、fetchSizeのみを設定しても、connector-jの実装には影響しません。