java项目中从数据库读取一二百万条数据,取出之后要遍历对一些数据进行操作,放list中内存溢出,这种情况应该怎么存储?求解答
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
取出之后要遍历对一些数据进行操作. 读取的时候,就取一些数据.
######内存溢出跟放到list里还是放到别的数据结构里没有关系,本身数据量过大。
参数设置增加内存,或者不全部取出,改为sql直接操作数据库。
######不能每次取100条么
######为啥要取一次性取那么多数据
######
分页吧,骚年
######啥数据类型?字符串,二进制?
######看你后续要做什么,如果只是转换的操作,增加字段,直接在数据库用 sql 干;
如果后续再其他系统加工;可以放在文件,kafka,redis 里面,主要是看你后续的业务。
######要一次性取完么? 可不可以使用数组取,先有一个流,然后边取边往文件夹里面放?求大神指点######不能分批读么?每条数据处理有先后关系么,没有的话完全可以一次只查询少量数据吧?######直接sql语句筛选啊,拿出来筛选效率太低了