使用MySQL 串流處理大型結果集
在Spring 應用程式中處理大量MySQL 表時,當驅動程式試圖執行下列操作時,可能會出現OutOfMemoryException:將整個表載入到記憶體中。設定statement.setFetchSize(Integer.MIN_VALUE);可能還不夠,因為這僅向 JDBC 驅動程式提供提示。
要在MySQL JDBC 驅動程式中啟用結果集流,需要更全面的方法:
建立語句實例:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY);
設定 Fetch Size:
stmt.setFetchSize(Integer.MIN_VALUE);
注意事項:
此方法有一定的注意事項:
其他見解:
有關處理大型結果集的進一步策略,請考慮以下相關問題及其答案: [連結至類似問題]。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3