数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发数据库服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

mysql数据库插入数据缓慢的问题-CSDN论坛

来源:互联网  责任编辑:小易  时间:2018/1/19 19:38:17
本网有用户碰到这样的问题:mysql数据库插入数据缓慢的问题-CSDN论坛,具体问题如下:

mysql java? spring

本网根据需求用户需求,为用户寻得以下其他网友提供的解决方法,方法仅供参考,具体如下:

解决方案1:

用多线程来完成这个功能,读取excel表格数据后,开一个线程将数据插入到数据库表中,另外开一个线程来解析这些数据插入另外的表中

解决方案2:

楼上已经说了多线程了,还有就是sql优化吧,考虑使用批处理

解决方案3:

引用 2 楼 hersing 的回复:
楼上已经说了多线程了,还有就是sql优化吧,考虑使用批处理


批处理的话,事务这块怎么办,只要有一条插入失败,是不是这次批处理插入的数据都得回滚了?

解决方案4:

引用 1 楼 shzy1988 的回复:
用多线程来完成这个功能,读取excel表格数据后,开一个线程将数据插入到数据库表中,另外开一个线程来解析这些数据插入另外的表中

但是另外的表存了这个表的id作为关联id,多线程的话这个id就获取不到 了吧

解决方案5:

批处理是最快的   你不一定要一次插完9000条数据  你可以把这9000条差拆成几批来完成 那一批有报错就回滚哪一批

解决方案6:

引用 3 楼 yueyakk 的回复:
Quote: 引用 2 楼 hersing 的回复:

楼上已经说了多线程了,还有就是sql优化吧,考虑使用批处理


批处理的话,事务这块怎么办,只要有一条插入失败,是不是这次批处理插入的数据都得回滚了?


事务就和平常的没什么区别,只是其中一条出现问题就会全部回滚,这个没办法,但是效率比循环插入快很多

解决方案7:

7万条会慢成这样?应该一分钟内能做完了才对啊。

解决方案8:

5楼说得对,建议用批量插入,即使回滚这一批数据也比一条一条的插入快得多,应该差十几倍

解决方案9:

读取Excel数据后批量插入数据到表,同时开启Spring job来读取数据库解析数据。将读取数据插入数据库和解析数据分开同时执行,在Spring job开启多线程来解析数据,这样应该能满足需求

解决方案10:

先测试一下插入记录表需要多少时间,这个不需要事务,只是批量提交而已。问问你的DBA,最佳批量值是多少

根据这个,可以估算出你数据库的性能,然后再说继续怎么做

可以写存储过程,也可以由应用服务器处理后写入

解决方案11:

围观各路大神

解决方案12:

可以考虑绕过应用层,使用脚本读取excel文件,然后使用过程去解析和写操作,当然这个要考虑应用场景。

解决方案13:

你这个慢 是单纯的插入数据慢 还是在解析数据的时候各种逻辑验证导致的慢 

这2种的问题解决的思路是有所区别的

解决方案14:

这个你得排查清楚吧,是插入速度慢,还是插入之前的读取excel速度慢,还是执行几个表的插入逻辑判断的时候速度慢,一般单纯数据插入不会太慢,除非你设置了很多的索引,触发器,外键

解决方案15:

引用 7 楼 ljl434841 的回复:
7万条会慢成这样?应该一分钟内能做完了才对啊。


只插入的话应该是很快的,但是业务逻辑每次里还需要查询已有数据,解析,所以变得很慢,所以想找优化的方法

解决方案16:

引用 13 楼 ylovep 的回复:
你这个慢 是单纯的插入数据慢 还是在解析数据的时候各种逻辑验证导致的慢 

这2种的问题解决的思路是有所区别的


里面混入了业务逻辑,插入之前还有查询,解析等操作

解决方案17:

既然有复杂的业务逻辑还是用存储过程吧,excel的数据可以先导入一张临时表。


  • 本文相关:
  • 站长必读,如何真正写好一篇原创文章
  • 互联网之路细嗅蔷薇 资深站长分享掘金之道
  • 企业站的站长的工作重心究竟有哪些
  • 浅析:行业门户网站的一些盈利模式
  • 3000IP的企业网站每天订单不到30个的苦恼
  • 网站想内外兼修?先学习提高网站可用性的6大原则
  • 浅谈网页设计中的简约之美
  • 网页改版实战:日本设计师如何彻底优化旅游网站?
  • 网页改版实战!日本设计师如何彻底优化招聘网站?
  • 2015年值得关注的21个网页设计趋势
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved