当前位置: 代码迷 >> Java Web开发 >> JDBC批量安插20万条数据且不能重复到mysql,求解。
  详细解决方案

JDBC批量安插20万条数据且不能重复到mysql,求解。

热度:1641   发布时间:2013-02-25 21:11:18.0
JDBC批量插入20万条数据且不能重复到mysql,求解。。。
就插入两个字段,id和code,id为自增长,code我用java随机生成六位的字符串。
JDBC批量插入20万条数据且不能重复到mysql,要求不能重复,难道每次插入前都要查询数据库来判断code重复与否?
求解答。。。

------解决方案--------------------------------------------------------
就按你描述的说,是每次插入前都要查询判断是否已存在,这个方法虽然效率低但可以实现你想要的。

如果你现实环境允许的话,我这里有个更好的方法。在20万数据插入数据库前,将其code添加到一个Set集合,利用Set集合的不重复性,再将Set集合里的code插入到数据库,这样就高效很多了。
------解决方案--------------------------------------------------------
你在java里随机生成不重复的code不就行了,
到数据库里check效率多低啊。。。
------解决方案--------------------------------------------------------
你怎么就不能换一种思路?你先把code从数据库中查出来,放到一个集合中,然后用集合的removeAll方法,就选出了重复了,然后你在插入,肯定就不会重复了
------解决方案--------------------------------------------------------
由于使用Set不允许里面有相同的值存在,你可以通过随机数给set20万个数据,然后在进行添加操作,就可以了
------解决方案--------------------------------------------------------

像一楼说的
放到set集合里去重复 、然后在批量保存、 





------解决方案--------------------------------------------------------
最好的方法就是先存set中,再批量存入。楼主别纠结了。
  相关解决方案