MySQL批量插入为什么比单条插入快很多

6万多条的数据,如果是单条插入,时间将会是几分钟,而使用批量插入,只需要几秒钟,是什么让2者的速度相差如此之大?学习了MySQL的很多理论知识后,一定要用到实际应用中,批量插入的效率问题就是很简单的一个理论。

我们都知道,MySQL默认开启自动事务,也即每条SQL都会被当成一个事务,当插入6万多数据时,要开启6万次事务,事务的开销相比插入一条数据而言比例是非常高的,资源实际利用率是非常低的,而使用批量插入,只需开启一次事务,事务占用的开销比插入操作而言比例很小,资源实际利用率是很高的。

批量插入的语法如下:

insert into user(username, sex, birthday) values 
('Steven Jobs', 'F', '1950-09-09'),
('Tony Stark', 'M', '1989-08-08');

在遇到多条数据插入的情况,一定是的批量插入,这是件非常划算的买卖。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
***很慢的原因有多种可能性。其中一个可能的原因是事务的自动提交模式开启,导致每次插入都会触发一次提交操作,从而降低了插入数据的速度。将自动提交关闭,并通过程序来控制提交的时机,可以提高插入数据的效率。 此外,索引、唯一性检查和数据大小也是影响插入速度的主要因素。在插入大量数据时,可以考虑暂时禁用索引和唯一性检查,待数据插入完成后再重新启用。同时,确保数据大小合理,不要一次性插入过多的数据,可以分批进行插入操作,以减少单次插入的负载。 另外,还有其他一些方法可以优化mysql批量插入的速度,比如使用LOAD DATA INFILE语句、使用INSERT INTO ... SELECT语句等。具体的方法选择可以根据实际情况和需求来确定。最好的方式是结合多种方法来优化插入速度,以达到最佳效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Mysql批量插入数据问题解决和优化](https://blog.csdn.net/u010886217/article/details/106406758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [4、提高插入数据的速度](https://blog.csdn.net/weixin_44234912/article/details/109095232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值