这20w条数据每条都要先判断数据库中是否已经存在,如果存在的话,则插入到数据库,如果不存在的话,则更新数据库里面的数据    关于这个如何提高效率呢??我的方法是先判断,然后在将判断后的结果放到addbatch中,然后没5000条提交一次但是这样还是要用八九分钟。。大家有没有什么方法将速度再提高点????
希望大家帮忙解答下!!谢谢。。

解决方案 »

  1.   

    使用数据库自己的东西,抛弃jdbc.例如oracle可以用sqlldr将数据导入数据库,然后再merge.
    也可以使用外部表.可以咨询一下dba
      

  2.   

    假设是Excel格式数据
    1.海量Excel格式数据导入个人想法: 先将Excel格式数据解析转化为sql格式数据,然后再调用数据库的导入命令脚本导入;
    2.海量数据导出为Excel格式
    个人想法:
    多线程,分多个sheet ,然后再merge 一个线程,一个sheet
      

  3.   

    后来跟别人讨论了一下感觉这个方法可行:
    先把数据一次性导入到一个临时表,然后再将这个临时表与正式库比较(用sql),将在正式库有的数据就更新,没有的数据就插入到数据库。这样就能做到批量操作。。