关于 EXCEL 大量数据库导入  求方案     数据库是mysql     业务说明:     客户 每月 都有  大量数据库导入(EXCEL导入),导入的数据可能有重复,并且这些数据都需要进行判断操作。     每次导入的数据量有1-2w条。      因为中间存在着数据判断的过程,不是单纯的导入数据插入到数据库中。     现在代码写完之后,发现效率非常慢,1-2w条数据 需要10分钟左右才能完全导入。     代码部分 
     
     大致流程: 先查数据库 将对应信息一次性取出 存入HASHMAP 中,然后通过hashmap 与导入的数据做比较。
                如果不存在 HASHMAP中增加该记录的某个字段,再将新的数据存入一个集合,到最后 集合批量保存。
   
     本人已经做到尽可能不查数据库,不插入数据,数据操作的过程也尽量减少,但效率还是不高。。
    
     求各位高手指点。 万分感谢!!

解决方案 »

  1.   

    你要先测出来,主要消耗时间在哪。真的减少与数据库交互的次数就能提高效率吗?(我个人有怀疑)。你可以重写hashCode方法,自己写一个更好的hash函数。应该能提高你HashMap的效率。还有一个比较直接的办法,你也可以用JNI但是,我感觉。还是你处理的问题。我个人觉得,数据库对数据检索,有很多的优化。你真的减少交互就能提高效率吗?
      

  2.   

    谢谢 各位指点。
    之前保存这个新集合时,调用的是框架里内的集合保存方法,该方法是一个循环 单个对象 保存。
    现在准备 通过 这个集合生成 一个SQL 语句 进行保存。