优秀的编程知识分享平台

网站首页 > 技术文章 正文

MySQL批量插入性能对比:100、1000、10000行,谁更胜一筹?

nanyue 2025-05-02 20:22:07 技术文章 6 ℃

昨天想做了个性能测试,没想到结果太意外,MySQL插入10万条数据居然花费了15分钟左右,强烈怀疑是在Docker部署的MySQL的问题。今天下载了一个安装版本的MySQL进行测试。

准备工作

同样是 user_mysql 表,与上一篇一致,代码也一致。

运行环境

  • MySQL版本:8.1.0
  • 电脑配置:相同配置
  • 运行环境:windows 操作系统上直接安装的MySQL

测试结果

每批数量

耗时

(第一轮)

耗时
(第二轮)

耗时
(第三轮)

耗时

(第n轮)

平均耗时

每秒写入速度

100

3m 45s

3m 52s

3m 46s

……

3m 47s

440

500

2m 11s

2m 11s

2m 10s

……

2m 10s

770

1000

2m 10s

2m 9s

2m 12s

……

2m 10s

770

3000

3m 46s

3m 46s

3m 52s

……

3m 48s

439

5000

3m 48s

3m 49s

3m 47s

……

3m 48s

439

10000

3m 51s

3m 47s

3m 54s

……

3m 51s

437

与Docker中部署MySQL对比

每批数量

windows安装版

docker安装版

100

3m 47s

17m 47s

500

2m 10s

14m 35s

1000

2m 10s

14m 28s

3000

3m 48s

14m 21s

5000

3m 48s

15m 08s

10000

3m 51s

16m 11s

总结

  1. 批量插入1000每批性能最佳(不同机器结果可能不一样,可自行测试),不建议过小的批量插入或过大的批量插入。
  2. windows安装版和docker 安装版在默认参数情况下性能差异较大,差距在5 ~ 7 倍,docker版参数没有调整的情况下,可能在资源方面收到较大限制,因此性能较差,下次有时间调试下docker版参数配置。
最近发表
标签列表