MySQL不同插入方式性能对比实验

最近负责的项目需要数据同步入库MySQL,为了测速那种入库方式效率比较高,为此进行了以下的对比实验,在此记录一下

实验表单数据格式


实验代码

共三种方法对比

mutiSqlInsert:

一条一条插入,最后一次提交

singleSqlInsert:

用for循环拼接好插入sql,一次执行

executeBatchInsert:

使用MySQL提供的方法executeBatch(),同样使用一次提交

实验结果

1W条数据插入

mutiSqlInsert

singleSqlInsert

executeBatchInsert

10W条数据插入

mutiSqlInsert

singleSqlInsert

executeBatchInsert

2000条数据插入(当前kafka设置的单次最大拉取数为2000)

Kafka配置截图

mutiSqlInsert

singleSqlInsert

executeBatchInsert

结论

在一次性拉取数据较少时,mutiSqlInsert和executeBatchInsert的性能相差不大

当一次性插入数据非常多时,比如10W条,singleSqlInsert的性能会急剧下降,甚至不如mutiSqlInsert

关于10W条数据插入时singleSqlInsert的性能会急剧下降的原因,参考此文
https://blog.csdn.net/Tom_sensen/article/details/127922964

相关推荐
用户62799471826211 分钟前
南大通用GBase 8c B兼容模式的加解密函数实践指南
数据库
hj10431 小时前
记录一个SQL自动执行的html页面
数据库·sql
xjz18421 小时前
MySQL 5.7 性能优化全攻略:从查询到配置的深度调优
mysql
用户6279947182621 小时前
南大通用GBase 8s数据库包解析
数据库
四七伵1 小时前
MySQL为什么会索引失效?十大常见场景及避坑指南
前端·mysql
TiDB_PingCAP1 小时前
TiDB 观测性解读(一)丨索引观测:快速识别无用索引与低效索
数据库·tidb·索引优化
用户5744823069142 小时前
MySQL数据库操作命令
mysql
人生不如初见2 小时前
解决进入Oracle11g的OEM显示网站不安全问题
数据库
颜淡慕潇3 小时前
【面试题系列】Redis 常见面试题&答案
数据库·redis·缓存
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-使用SQLAlchemy动态创建数据库表
开发语言·数据库·python·flask·flask3