当数据量过大的时候如何判断有无从重复

lfrhate 2015-01-16 09:44:31
我通过java程序往Mysql数据库里面插入数据,但是java再采集的时候有可能采集到重复的数据!所以我要判断是否重复再插入,请教各位大神,除了select查询,判断,insert和select 判断,delete,insert这两种方法,还有效率比较高的方法吗?我是新手!求指导!注意,是大批量的数据!我主要是想提高效率!
...全文
671 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2015-01-21
  • 打赏
  • 举报
回复
判断重复数据的条件建成索引,这样速度快些
lfrhate 2015-01-20
  • 打赏
  • 举报
回复
引用 5 楼 DBA_Huangzj 的回复:
java端的东西我不熟悉,不过从思路来说是可行的,问题在于你的数据是否有主键,并且主键在每次集合中都能唯一标识,比如你的主键是集合生成过程中动态产生的一个自增id,那么第二次集合也会产生相同的ID,这样对你的判断就无效了。
恩,我id自增的,。我用的mysql数据库,我找到了一个设置唯一约束的方法,通过sql语句就实现了,不过我没试过大容量的数据是否还有高效率,我要实验一下!谢谢你的解答!
發糞塗牆 2015-01-16
  • 打赏
  • 举报
回复
java端的东西我不熟悉,不过从思路来说是可行的,问题在于你的数据是否有主键,并且主键在每次集合中都能唯一标识,比如你的主键是集合生成过程中动态产生的一个自增id,那么第二次集合也会产生相同的ID,这样对你的判断就无效了。
lfrhate 2015-01-16
  • 打赏
  • 举报
回复
引用 2 楼 DBA_Huangzj 的回复:
可以多方面协助,比如第一次插入,判断是否成功及完整,比如数量对不对得上,然后把总数记录在另外一个表,第二次导入的时候判断这个独立的表中是否有这些信息,没有才插入。在数据库端也可以进行判断,但是这些很大程度依赖于设计和业务需要
我这样做的可以吗?我创建了一个set集合,然后建立一个static区域,然后每次执行main方法之前,在static里面提取主键,然后通过set集合的不可重复性判断!
Q315054403 2015-01-16
  • 打赏
  • 举报
回复
这么注重效率的本不该让新手设计、开发嘛。。。也就是索引加Exists判断
發糞塗牆 2015-01-16
  • 打赏
  • 举报
回复
可以多方面协助,比如第一次插入,判断是否成功及完整,比如数量对不对得上,然后把总数记录在另外一个表,第二次导入的时候判断这个独立的表中是否有这些信息,没有才插入。在数据库端也可以进行判断,但是这些很大程度依赖于设计和业务需要
Tiger_Zhao 2015-01-16
  • 打赏
  • 举报
回复
用主键或唯一索引啊,有重复插入就会报错。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧