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.请问这样大数量查询计算,有没有好的优化方案,因为逻辑比较复杂,感觉用存储过程会比较费劲
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
1 回答976 阅读✓ 已解决
2 回答1.7k 阅读
1 回答730 阅读✓ 已解决
可以进行分批处理,写一个batch的处理方法就行了,每次处理一部分数据,比如1w,这样的话,不会随着数据量的增大导致gc,最多只是处理时间变长而已