1.spring boot中使用mybatis查询一个500万条数据然后进行计算并重新入新表,200万条的时候直接卡死GC了
2.mybatis框架实现,dao层返回List<object> ,先后试过全查(不行,直接卡死),
分页(在200万条卡死),cursor(没有GC,但是因为连接超时被关闭)
3.请问这样大数量查询计算,有没有好的优化方案,因为逻辑比较复杂,感觉用存储过程会比较费劲
1.spring boot中使用mybatis查询一个500万条数据然后进行计算并重新入新表,200万条的时候直接卡死GC了
2.mybatis框架实现,dao层返回List<object> ,先后试过全查(不行,直接卡死),
分页(在200万条卡死),cursor(没有GC,但是因为连接超时被关闭)
3.请问这样大数量查询计算,有没有好的优化方案,因为逻辑比较复杂,感觉用存储过程会比较费劲
5 回答3.4k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2.1k 阅读
1 回答3.6k 阅读
可以进行分批处理,写一个batch的处理方法就行了,每次处理一部分数据,比如1w,这样的话,不会随着数据量的增大导致gc,最多只是处理时间变长而已