MySQL を使用した大規模な結果セットのストリーミング
Spring アプリケーション内で広範な MySQL テーブルを処理する場合、ドライバーが次の処理を行うときに OutOfMemoryException が発生する可能性があります。テーブル全体をメモリにロードします。設定ステートメント.setFetchSize(Integer.MIN_VALUE);これは単に JDBC ドライバーにヒントを提供するだけなので、十分ではない可能性があります。
MySQL JDBC ドライバーで結果セットのストリーミングを有効にするには、より包括的なアプローチが必要です。
ステートメント インスタンスの作成:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
フェッチを設定するサイズ:
stmt.setFetchSize(Integer.MIN_VALUE);
注意事項:
このメソッドには、注意:
追加の洞察:
大規模な結果セットの処理に関するさらなる戦略については、次の関連する質問とその回答を検討してください。 [同様の質問へのリンク].
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3