sql >> データベース >  >> RDS >> Oracle

jdbcデータセットはすべての行をjvmメモリに保存しますか

    場合によります。ドライバーが異なれば、動作も異なります ResultSet 設定 動作が異なる場合があります。

    CONCUR_READ_ONLYがある場合 、FETCH_FORWARDTYPE_FORWARD_ONLY ResultSet 、ドライバはほぼ確実に、フェッチサイズに対応する行数をメモリにアクティブに格納します(もちろん、以前の行のデータは、ガベージコレクションされるまで一定期間メモリに残ります)。 TYPE_SCROLL_INSENSITIVEがある場合 ResultSet 一方、ドライバは、データを前後にスクロールできるようにするために、フェッチされたすべてのデータをメモリに格納する可能性が非常に高くなります。これがこの動作を実装する唯一の可能な方法ではないため、異なるドライバー(および異なるバージョンのドライバー)は異なる動作をする可能性がありますが、これは私が遭遇したほとんどのドライバーが動作する最も単純で方法です。



    1. カーソルのmysqlプロシージャをコンパイルできませんでした

    2. Sphinx / MySQLを使用して2つのテーブルから一度にデータを取得するためのより良い方法はありますか?

    3. CrystalReportsのデータプロバイダーの更新

    4. WindowsでQtmysqlドライバーを作成する方法は?