数据量大概10万条左右,再从数据库中,取得数据,然后后台把取得的数据用java写入excel文件时,遇到性能问题,时间很长,数据库设计没问题,问下有没有高手提出个解决的方案。数据库exceljava

解决方案 »

  1.   

    hibernate有解决批量读取的机制,不知道你用框架没有。
      

  2.   

    写excel有瓶颈啊.这个不好办你是什么方案写excel
      

  3.   

    大数据量的Excel写入一直就是瓶颈,这个没有办法的,只能单独启动一个线程来处理
      

  4.   

    我在linux下读取5000W写入txt,用的是c++后台,效率还可以,java来说估计写入是个瓶颈了
      

  5.   

    可以这样,如果这10万数据是一个表里的话,你可以查询出来插入到10个或多个表里,这样再从这10个表写入excel,搞个多线程执行
      

  6.   

    没有用框架,只是取得数据然后,用java.io类实现的
      

  7.   

    10w数据写到xls中这个文件也有点恐怖吧,用excel打开也老慢了吧,那为啥还要捣成这种格式....
      

  8.   

    看你用的数据库是什么了,如果是SQL SERVER的话,是能够直接通过SQL写Excel的。
      

  9.   

    用java写 大数据量时确实很慢
    这是个难题,LZ提出来的好
    俺也看看楼下有没有好的解决方案吧
      

  10.   

    导出csv格式啊。这个速度跟你写txt效率差不多。
      

  11.   

    这个不影响什么把,主要是数据库的查询影响速度啊。数据填充到table里,页面contentType设置下就直接Excel打开了,很快的。
      

  12.   

    最大的瓶颈不是数据的查询,而是你的数据流文件操作,你的磁盘I/O性能才是关键,你查1000w数据也要不了多长时间的
      

  13.   

    我前几天也写这个,最大能导出30w,分为5个sheet导出,再大就内存溢出了
      

  14.   

    我数据是8个字段,共有9万多条记录。我导出8万多条的时候内存就溢出了。我jvm设置了700M。我分次查询和写数据的。设置了workbook = new SXSSFWorkbook(xssbook,RAM_MAX_SIZE);//内存中记录最大数目
    但是还是没有解决问题。
    }