社区
Web 开发
帖子详情
JDBC批量插入20万条数据且不能重复到mysql,求解。。。
严小超
2012-09-19 03:07:27
就插入两个字段,id和code,id为自增长,code我用java随机生成六位的字符串。
JDBC批量插入20万条数据且不能重复到mysql,要求不能重复,难道每次插入前都要查询数据库来判断code重复与否?
求解答。。。
...全文
617
9
打赏
收藏
JDBC批量插入20万条数据且不能重复到mysql,求解。。。
就插入两个字段,id和code,id为自增长,code我用java随机生成六位的字符串。 JDBC批量插入20万条数据且不能重复到mysql,要求不能重复,难道每次插入前都要查询数据库来判断code重复与否? 求解答。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cfm2000
2012-09-19
打赏
举报
回复
无需那么复杂,把code设为唯一索引。随便插,如果失败就忽略,再插下一条,直到成功满20万。
6位随机字符,即使是只允许 A-Z也有3亿的组合,重复有个百多条最多了
严小超
2012-09-19
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
就按你描述的说,是每次插入前都要查询判断是否已存在,这个方法虽然效率低但可以实现你想要的。
如果你现实环境允许的话,我这里有个更好的方法。在20万数据插入数据库前,将其code添加到一个Set集合,利用Set集合的不重复性,再将Set集合里的code插入到数据库,这样就高效很多了。
[/Quote]
兄弟,非常感谢你。照你的方法,现在OK了。搞定了。非常感谢。模版。
hj86073026
2012-09-19
打赏
举报
回复
最好的方法就是先存set中,再批量存入。楼主别纠结了。
减肥啊啊啊啊啊
2012-09-19
打赏
举报
回复
像一楼说的
放到set集合里去重复 、然后在批量保存、
严小超
2012-09-19
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
你怎么就不能换一种思路?你先把code从数据库中查出来,放到一个集合中,然后用集合的removeAll方法,就选出了重复了,然后你在插入,肯定就不会重复了
[/Quote]
我数据库里面现在已经有20W条记录了,也全部查出来吗?
m540920181
2012-09-19
打赏
举报
回复
由于使用Set不允许里面有相同的值存在,你可以通过随机数给set20万个数据,然后在进行添加操作,就可以了
宏Lee
2012-09-19
打赏
举报
回复
你怎么就不能换一种思路?你先把code从数据库中查出来,放到一个集合中,然后用集合的removeAll方法,就选出了重复了,然后你在插入,肯定就不会重复了
菖蒲老先生
2012-09-19
打赏
举报
回复
你在java里随机生成不重复的code不就行了,
到数据库里check效率多低啊。。。
zxhcloth
2012-09-19
打赏
举报
回复
就按你描述的说,是每次插入前都要查询判断是否已存在,这个方法虽然效率低但可以实现你想要的。
如果你现实环境允许的话,我这里有个更好的方法。在20万数据插入数据库前,将其code添加到一个Set集合,利用Set集合的不重复性,再将Set集合里的code插入到数据库,这样就高效很多了。
JDBC
入门到精通
JDBC
指 Java
数据
库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程...
JDBC
介绍
JDBC
工具类封装
JDBC
防止SQL注入
JDBC
事务
JDBC
分布式两段提交XA
JDBC
操作CRUD
JDBC
批量插入
JDBC
之DDL
java
jdbc
批量_三种
JDBC
批量插入
编程方法的比较
方法一,使用PreparedStatement加批量的方法try {Class.forName("com.
mysql
.
jdbc
.Driver");conn = DriverManager.getConnection(o_url, userName, password);conn.setAutoCommit(false);String sql = "INSERT adlogs(ip,website,...
狂神说-
MySQL
一、初始
MySQL
JavaEE:企业级Java开发 Web 前端(页面:展示:
数据
) 后台 (连接点:连接
数据
库
JDBC
,连接前端(控制视图跳转,给前端传递
数据
))
数据
库(存
数据
,Txt,Excel,Word) 1、概念
数据
库:(DB,DataBase) 概念:
数据
仓库,软件,安装在操作系统之(windows,Linux。mac)上的!SQL,可以存储大量的
数据
,500万! 作用:存储
数据
,管理
数据
Excel 2、
数据
库分类 关系型
数据
库:(SQL)
MySQL
, Oracle,
MySQL
学习笔记(狂神)
1.初始
MySQL
JavaEE:企业级Java开发 Web 前端(页面:展示:
数据
) 后台 (连接点:连接
数据
库
JDBC
,连接前端(控制视图跳转,给前端传递
数据
))
数据
库(存
数据
,Txt,Excel,Word) 只会写代码,学好
数据
库,基本混饭吃: 操作系统,
数据
结构与算法!当一个不错的程序猿! 离散数学,数字电路,体系结构,编译原理。+实战经验,优秀程序猿 ...
数据
库成长之路
Mysql
插入
数据
插入
数据
mysql
插入x万级
数据
方案: (1)存储过程导入
数据
(存储过程是一组可编程函数,是为了满足特定功能的SQL语句集)[sql] (2)load data可以将文件中的
数据
导入到sql表中,默认一行为sql中一条
数据
[sql] (3)insert语句时单语句插入多条值(
mysql
只需要对单语句进行语法分析)或使用
批量插入
(事务)[编程语言] 注:在采用单语句插入多条时,对索引的负载也更小,单语句时索引只有在所有
数据
都处理完后才刷新 ...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章