如何快速的批量插入更新?

qq_40164181 2018-01-17 11:04:30
现在遇到一个需求就是要统计每个月里.出现相关次 的次数.
统计是统计出来不过不过,每个月大概几万条数据,要记录到数据库
不是单纯的插入而是还要进行更新操作,记录次数,
开始我在每条SQL插入前 select id 一下, 后面该为让 id 已某种规则组合 ,这样就不用查数据库了
因为是批处理, 我使用了jdbc 的 batch 处理, sql 使用了 on duplicate key update .

2万条数据还是要 30分钟, 纯插入我记得最多也就2分钟的事
思前向后,效率也不该这么慢.求大大帮忙解决下
...全文
727 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40164181 2018-05-04
  • 打赏
  • 举报
回复
结贴了,也没得到太好的解决
qq_40164181 2018-01-19
  • 打赏
  • 举报
回复
引用 7 楼 shayongjie 的回复:
更新一条数据所耗的时间比插入一条数据的时间长多了。考虑删除再插入吧。
额,问了一下才知道,更新的底层就是先删除在插入,我先去试试
hp961218 2018-01-19
  • 打赏
  • 举报
回复
大佬,贴下你写的sql ,以及执行计划
喜氏天狼 2018-01-18
  • 打赏
  • 举报
回复
更新一条数据所耗的时间比插入一条数据的时间长多了。考虑删除再插入吧。
qq_40164181 2018-01-18
  • 打赏
  • 举报
回复
引用 2楼ZHOU西口 的回复:
LZ只使用jdbc做数据操作? 是否可以考虑使用内存数据库作为中介?
把sql存到内存,批量发送,减少发送次数?
qq_40164181 2018-01-18
  • 打赏
  • 举报
回复
引用 3楼oyljerry 的回复:
数据库中explain一下对应SQL语句,看是否可以用索引
插入还能用索引?
tianfang 2018-01-17
  • 打赏
  • 举报
回复
你的sql都有哪些 一个循环中几个指令?一次提交多少sql?
oyljerry 2018-01-17
  • 打赏
  • 举报
回复
数据库中explain一下对应SQL语句,看是否可以用索引
ZHOU西口 2018-01-17
  • 打赏
  • 举报
回复
LZ只使用jdbc做数据操作? 是否可以考虑使用内存数据库作为中介?
qq_40164181 2018-01-17
  • 打赏
  • 举报
回复
顶顶别沉,在线等

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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