使用流式查询优化查询,可防止数据量过大导致OOM,使用JDBC查询为范例:
PreparedStatement pstmt = null;
String sql = "select * from table_name";
//流式查询设置-begin
pstmt = conn.prepareStatement(sql, **ResultSet.TYPE_FORWARD_ONLY**, **ResultSet.CONCUR_READ_ONLY**);
**pstmt.setFetchSize(Integer.MIN_VALUE);**
//流式查询设置-end
ResultSet rs = pstmt.executeQuery();
参考文献:
http://ifeve.com/mysq-stream-search/
附
Mybatis使用流式查询可参考:
http://ifeve.com/mybatis%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%B5%81%E5%BC%8F%E6%9F%A5%E8%AF%A2%E9%81%BF%E5%85%8D%E6%95%B0%E6%8D%AE%E9%87%8F%E8%BF%87%E5%A4%A7%E5%AF%BC%E8%87%B4oom/