2万条数据如何快速插入到mysql,可以这样做!

作者: 程序员蜗牛哥分类: 计算机技术 发布时间: 2023-01-02 19:00:06 浏览:19938 次

2万条数据如何快速插入到mysql,可以这样做!

pegasis:
为什么多线程分批插入能缓解数据库压力啊,java端线程再多最后不都是数据库处理的吗,那不应该是增加了数据库压力吗。 我感觉变快是跟数据库本身处理数据的线程有关。比如数据库有10个线程处理,java从5个线程加到10个线程才变快了。如果是java从10个线程增加到20个,应该不会变快。 不知道我理解的对不对[呲牙]

【回复】回复 @明明年11 :卧槽 我们公司就这样的 刚开始我都懵逼了
【回复】不可能解决数据库压力的,数据压力在io ,磁盘速度,多线程解决不了。大数据插入正确做法就是分批插入。还有种做法是把数据做成csv 传到数据库所在服务器,然后导入
【回复】回复 @程序员蜗牛哥 :那视频里说的增加java线程缓解数据库压力应该算口误吧
今日无事丶教坊司:
?才2万 一次就够了分啥批 个位秒的事[微笑]

【回复】回复 @Troylian :原来insert就行了呀。
【回复】确实,不要小看数据库,我都是insert into ... select ... 构造数据直接写sql插入 5w 10w 列少的话20w 50w[doge]
沧於135:
遇到过这个需求,再加个批处理吧,快很多。顺便问个问题,插入100w数据,是开100个线程每次插入1w条数据好,还是10个线程每次插入10w条(用线程池),就是频繁插入情况下,一次少插点好还是一次多插点好

【回复】噢噢,你说的jdbc的批处理
【回复】批处理的本质就是多线程把,和up的方案三一样?
【回复】回复 @程序员蜗牛哥 :好的 多谢up,三连支持一下[打call]
Cheneeeey:
那这样写transactional还有啥用啊,你都没保证事务

【回复】没错 下次来分享事务的[doge]
咕噜n咕噜:
有没有考虑多线程插入可能出现死锁问题?事务问题?

【回复】没错 看我后面的视频有说
JDBC调用失败:
可以用Lists.partition进行切割,然后再导入数据库[吃瓜][打call]

小_镇做题_家:
与数据库交互不都是IO么,怎么缓解数据库压力的

激光豆豆:
不会缓解数据库压力,但是会提高数据写入速度,当然前提是服务器没有IO瓶颈。

学习 程序员 计算机 编程 每天跟我涨知识 多线程 蜗牛 MySQL java java程序员

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!