PostgreSQL vs MySQL:1000万数据批量插入,谁能略胜一筹

人工智能2025-11-05 06:28:2074757

之前测试MySQL批量插入,数据胜筹发现慢的批量离谱,找了下原因,插入竟然是数据胜筹少了个参数,rewriteBatchedStatements=true。批量昨天《PostgreSQL vs MySQL - 30倍性能差异》这个原因也找到了,插入汗颜。数据胜筹rewriteBatchedStatements介绍

rewriteBatchedStatements=true 是批量MySQL JDBC驱动程序中的一个连接属性,用于启用批量重写功能。插入它可以在执行批量插入操作时提高性能。数据胜筹

PostgreSQL vs MySQL:1000万数据批量插入,谁能略胜一筹

默认情况下,批量在JDBC中使用批量插入时,插入每个插入语句都会作为单独的数据胜筹请求发送到数据库服务器。但是批量,将 rewriteBatchedStatements 设置为 true 时,插入驱动程序会对批量插入语句进行重写和优化,将多个插入语句合并成一个批量语句,然后一次性发送给数据库服务器。

通过启用批量重写功能,可以减少与数据库服务器之间的通信开销和网络往返时间。此外,WordPress模板将多个插入语句合并为一个批量语句还可以减少数据库服务器上的查询计划优化和日志记录操作,从而提高整体性能。

需要注意的是,启用 rewriteBatchedStatements=true 并不总是能够带来显著的性能改进。它的效果取决于多个因素,包括数据量、网络延迟、数据库和系统配置等。在某些情况下,尤其是需要大量数据插入的场景,启用该选项可以明显提升性能。然而,在某些情况下,可能不会看到明显的性能改进或甚至性能下降。

连接参数修改

在连接之后加上rewriteBatchedStatements=true,如下:

复制String url = "jdbc:mysql://localhost/mydatabase?rewriteBatchedStatements=true";1. 测试结果

先插入少量数据:10万条。下述结果,耗时毫秒级被我省略了,企商汇所以针对10万的数据量插入,看不出大的差异。

每批数量

耗时

(第一轮)

耗时

(第二轮)

耗时

(第三轮)

耗时

(第n轮)

平均耗时

每秒写入速度

100

6s

6s

6s

……

6s

≈16666/s

500

4s

4s

4s

……

4s

≈25000/s

1000

4s

4s

4s

……

4s

≈25000/s

3000

4s

4s

4s

……

4s

≈25000/s

5000

4s

4s

4s

……

4s

≈25000/s

10000

4s

4s

4s

……

4s

≈25000/s

这个测试结果和昨天测试的PostgreSQL相当(符合预期)。

接下来测试一下1000w数据的耗时,并对比一下PostgreSQL的性能(代码均复用上篇)。

测试结果

每批数量

MySQL

PostgreSQL

每秒写入速度

(MySQL)

每秒写入速度

(PostgreSQL)

100

8m 43s

3m 36s

≈19120

≈46296

500

5m 26s

3m 37s

≈30674

≈46082

1000

4m 59s

3m 36s

≈33444

≈46296

3000

4m 42s

3m 35s

≈35460

≈46511

5000

4m 41s

3m 36s

≈35587

≈46296

10000

4m 35s

3m 38s

≈36363

≈45871

20000

4m 36s

3m 42s

≈36231

≈45045

结论MySQL 批量插入时批量不同性能差异较大,PostgreSQL相对稳定。相同配置下PostgreSQL插入性能略具上风。MySQL批量插入一定不能忘了加 rewriteBatchedStatements=true ,不然就像之前测试,就是搞笑的。

本数据只是个人测试,仅供参考,不同环境、场景、配置等因素下,结论可能都不一致,大家可根据实际情况进行测试。

免费源码下载
本文地址:http://www.bzuk.cn/news/112f9899789.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

主板接线安装教程(详细步骤指南让你轻松安装主板,打造个性化电脑体验)

域名小白前期怎么玩域名的?

信不信这五大MySQL优化指南,你一定用得上!

.net.cn域名怎么注册 聚名网.net.cn域名注册流程

三星GalaxyS4Zoom(将相机与手机完美结合,打造出色的拍摄体验)

互联网高频面试题,什么是幂等?如何解决幂等性问题

Flink CDC 在大健云仓的实践

Microsoft Visual C++ 14.0 is required

友情链接

滇ICP备2023006006号-33