MySQL 批量插入 vs 逐条插

MySQL 插入数据:批量插入 vs 逐条插入,哪个更快?

在 MySQL 中,插入数据有两种常见方式:

  1. 批量插入:一条 SQL 插入多条数据。
  2. 逐条插入:每次插入一条数据。

这两种方式有什么区别?哪种更快?今天我们就来简单聊聊。


1. 批量插入:一次插多条

示例代码

sql 复制代码
INSERT INTO users (name, age) VALUES 
('小明', 18),
('小红', 20),
('小刚', 22);

优点

  • 速度快:只需要执行一次 SQL,数据库开销小。
  • 网络请求少:一次请求搞定多条数据,减少延迟。
  • 锁占用时间短:对表的锁定时间更短,其他操作不会被阻塞太久。

缺点

  • 单次数据量过大:如果一次插入太多数据,可能会占用大量内存。
  • 出错影响大:如果某条数据有问题,整批插入都会失败。

2. 逐条插入:一次插一条

示例代码

sql 复制代码
INSERT INTO users (name, age) VALUES ('小明', 18);
INSERT INTO users (name, age) VALUES ('小红', 20);
INSERT INTO users (name, age) VALUES ('小刚', 22);

优点

  • 灵活性高:每条数据独立插入,某条失败不影响其他数据。
  • 适合小数据量:数据量小的时候,操作简单直接。

缺点

  • 速度慢:每次插入都要执行 SQL,数据库开销大。
  • 网络请求多:每次插入都需要一次网络请求,延迟高。
  • 锁占用时间长:对表的锁定时间更长,可能影响其他操作。

3. 性能对比

测试场景

  • 插入 1000 条数据。

测试结果

  • 批量插入:耗时约 0.1 秒。
  • 逐条插入:耗时约 5 秒。

结论

批量插入的性能明显优于逐条插入,尤其是在数据量大的时候。


4. 什么时候用哪种方式?

用批量插入

  • 数据量大的时候(比如数据迁移、日志记录)。
  • 需要快速插入大量数据的场景。

用逐条插入

  • 数据量小的时候。
  • 需要保证每条数据独立性的场景(比如实时插入)。

5. 总结

  • 批量插入:速度快,适合大数据量。
  • 逐条插入:灵活性高,适合小数据量或实时插入。

根据你的需求选择合适的方式,能让你的程序跑得更快更高效!


一句话总结:能批量插入就别逐条插,效率高得多!


希望这篇文章对你有帮助!如果有问题,欢迎留言讨论~

相关推荐
Leon-Ning Liu5 小时前
【真实经验分享】Oracle 索引并行度引发的进程风暴分析与处理
数据库·oracle
大数据魔法师5 小时前
MongoDB(十) - MongoDB分片集操作
数据库·mongodb
数据库知识分享者小北5 小时前
AnalyticDB PostgreSQL 版软件 V2.0:安全可靠的全场景一站式数据仓库
数据库·postgresql·信创数据库·安全可靠数据库·analyticdb·阿里云 analyticdb
韦胖漫谈IT5 小时前
B+ 树:为什么数据库索引偏爱它
数据库·oracle
CIO405 小时前
IT故事(7): CIO之“10亿元库存数字化“
数据库
Database_Cool_5 小时前
PB 级海量数据需要实时分析,应该选择什么数仓产品?阿里云 AnalyticDB MySQL 是首选
数据库·数据仓库·mysql·阿里云
该昵称用户已存在5 小时前
双碳目标下的能源中台自建之路:MyEMS 百万测点场景的架构自主权与数据库选型为题
数据库·架构·能源
二宝哥5 小时前
大数据之数据仓库与数据库区别
大数据·数据库·数据仓库
AOwhisky5 小时前
MySQL 学习笔记(第二期):SQL 语言之库表操作与数据类型
linux·运维·数据库·笔记·sql·学习·mysql
行业研究员5 小时前
2026 AI Agent记忆解决方案:腾讯云数据库提供全场景支撑
数据库·人工智能·腾讯云·ai记忆