成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PostgreSQL vs MySQL:1000萬數據批量插入,誰能略勝一籌

數據庫 PostgreSQL MySQL
之前測試MySQL批量插入,發現慢的離譜,找了下原因,竟然是少了個參數,rewriteBatchedStatements=true。

之前測試MySQL批量插入,發現慢的離譜,找了下原因,竟然是少了個參數,rewriteBatchedStatements=true。昨天《PostgreSQL vs MySQL - 30倍性能差異》這個原因也找到了,汗顏。

rewriteBatchedStatements介紹

rewriteBatchedStatements=true 是MySQL JDBC驅動程序中的一個連接屬性,用于啟用批量重寫功能。它可以在執行批量插入操作時提高性能。

默認情況下,在JDBC中使用批量插入時,每個插入語句都會作為單獨的請求發送到數據庫服務器。但是,將 rewriteBatchedStatements 設置為 true 時,驅動程序會對批量插入語句進行重寫和優化,將多個插入語句合并成一個批量語句,然后一次性發送給數據庫服務器。

通過啟用批量重寫功能,可以減少與數據庫服務器之間的通信開銷和網絡往返時間。此外,將多個插入語句合并為一個批量語句還可以減少數據庫服務器上的查詢計劃優化和日志記錄操作,從而提高整體性能。

需要注意的是,啟用 rewriteBatchedStatements=true 并不總是能夠帶來顯著的性能改進。它的效果取決于多個因素,包括數據量、網絡延遲、數據庫和系統配置等。在某些情況下,尤其是需要大量數據插入的場景,啟用該選項可以明顯提升性能。然而,在某些情況下,可能不會看到明顯的性能改進或甚至性能下降。

連接參數修改

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

String url = "jdbc:mysql://localhost/mydatabase?rewriteBatchedStatements=true";

測試結果

先插入少量數據: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 ,不然就像之前測試,就是搞笑的。

本數據只是個人測試,僅供參考,不同環境、場景、配置等因素下,結論可能都不一致,大家可根據實際情況進行測試。

責任編輯:華軒 來源: 今日頭條
相關推薦

2011-11-17 13:49:57

筆記本評測

2018-07-16 15:32:56

2010-07-01 12:17:06

三網融合

2013-08-13 09:56:00

PythonWeb2py

2011-03-03 17:45:48

SQL ServerMySQL數據庫

2024-07-31 09:39:33

2024-01-02 09:55:26

AI模型

2024-07-30 09:12:15

2015-08-24 09:24:17

開源報表工具

2014-03-06 15:07:41

青橙小米

2022-07-20 08:16:54

Lombokjava工具

2020-01-18 14:55:03

架構運維技術

2022-08-24 08:00:00

Node.isJavaScriptDeno

2024-02-22 14:50:02

2011-02-23 15:06:00

WebCherokee

2017-09-14 08:43:05

2017-06-08 15:38:41

2022-05-30 11:06:44

人工智能AI人類智能

2024-04-25 08:57:04

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级黄色生活视频 | 日韩精品久久一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 99精品国产一区二区三区 | 男女爱爱福利视频 | 国产成人jvid在线播放 | 久久亚洲91 | 91精品国产91久久久久福利 | 美日韩精品 | 超碰地址 | 国产成人精品区一区二区不卡 | 日韩欧美中文字幕在线观看 | 国产视频一区二区 | 国产精品综合色区在线观看 | 亚洲精品久久久一区二区三区 | 伊人久久综合影院 | 我想看国产一级毛片 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 亚洲自拍偷拍免费视频 | 精品一区二区三区在线视频 | 国产精品国产三级国产aⅴ无密码 | 久久ww| 欧美视频 亚洲视频 | 综合久久99| 99re6在线视频精品免费 | 久久久久久av| 精品一区二区观看 | 亚洲精品日韩一区二区电影 | 日韩a在线观看 | 青青草网站在线观看 | 久久精品国产99国产 | 成人av在线播放 | 久久久久久91 | 九色在线视频 | 国产综合网站 | 久久99精品国产99久久6男男 | 国产高清视频在线 | 精品欧美黑人一区二区三区 | 97超碰站 | 国产成人网 | 国产熟熟|