开发者社区 问答 正文

java项目中从数据库读取一二百万条数据,一般怎么存储:报错

java项目中从数据库读取一二百万条数据,取出之后要遍历对一些数据进行操作,放list中内存溢出,这种情况应该怎么存储?求解答

展开
收起
kun坤 2020-06-06 23:06:40 1102 分享 版权
1 条回答
写回答
取消 提交回答
  • 取出之后要遍历对一些数据进行操作. 读取的时候,就取一些数据.

    ######

    内存溢出跟放到list里还是放到别的数据结构里没有关系,本身数据量过大。

    参数设置增加内存,或者不全部取出,改为sql直接操作数据库。

    ######

    不能每次取100条么

    ######

    为啥要取一次性取那么多数据

     

    ######

    分页吧,骚年

    ######

    啥数据类型?字符串,二进制?

    ######

    看你后续要做什么,如果只是转换的操作,增加字段,直接在数据库用 sql 干;

    如果后续再其他系统加工;可以放在文件,kafka,redis 里面,主要是看你后续的业务。

    ######要一次性取完么? 可不可以使用数组取,先有一个流,然后边取边往文件夹里面放?求大神指点######不能分批读么?每条数据处理有先后关系么,没有的话完全可以一次只查询少量数据吧?######

    直接sql语句筛选啊,拿出来筛选效率太低了

    2020-06-06 23:06:45
    赞同 展开评论