mysql存入百萬級資料速度慢的解決方法

2021-06-17 15:08:12 字數 866 閱讀 8634

最近公司分配了乙個任務,測試乙個向資料庫存入千萬級資料工具的效率及所存在的問題。於是乎首先測試已存在的工具的訪問效率,結果如下:

mysql 資料庫:

1萬條數       據耗時8分鐘

5萬條數       據耗時42分鐘

遠端連線oracle資料庫:

5萬條資料    耗時7分14秒

10萬條資料   耗時14分27秒

20萬條資料   耗時33分24秒

40萬條資料   耗時1時零3分28秒

效率都慘不忍睹,資料量還沒上百萬級,已經耗時一小時以上了,於是採取措施,改原來的一條條資料插入,為一組組資料插入:

conn.setautocommit(false);

string sql = "插入語句」;

preparedstatement pst = conn.preparestatement(sql);

pst.setobject(1, "");  

pst.addbatch();

pst.setobject(2, "");

pst.addbatch();

pst.executebatch();  //500條為一組,進行一次提交

pst.close();

conn.commit();

使用executebatch()方法後,效率有了質的飛躍,結果如下:

mysql資料庫:

5萬條資料:   15秒

100萬條資料: 4分49秒

1000萬條資料:47分31秒

遠端oracle資料庫:

100萬條資料: 平均耗時1分20秒

1000萬條資料:24分10秒

兩種資料庫均在一小時內完成了千萬級資料插入!

MySQL 查詢速度慢

2016年09月30日 14 31 44 以下是基於我結合b 樹的資料結構和對實驗結果的推測作出的判斷,如有錯誤,懇請指正!今天實驗了一下mysql的count 操作優化,以下討論基於mysql5.7 innodb儲存引擎.x86 windows作業系統。建立的表的結構如下 資料量為100萬 首先是...

mysql查詢百萬資料量時速度慢怎麼解決?

這兩天,越來越覺得自己做的玩家歷史表,查詢速度很慢,開始還以為是網路的問題,然後持續了一兩天很快pass了這個想法。很可能是自己的查詢速度慢,於是進入資料庫看了一下,發現歷史記錄已經達到了600多萬條了。隨著dau的上公升,玩家越來越多,乃至於歷史記錄也成倍的增長,雖然自己做了定時刪除七天以前的記錄...

MySQL儲存寫入速度慢分析

問題背景描述 在mysql中執行sql語句,比如insert,賊慢,明明可能也就只是一行資料的插入,資料量很小,但是耗費的時間卻很多,為什麼?一 儲存結構分析mysql儲存結構圖 解析 1 讀操作 記憶體讀 cache快取讀 磁碟物理讀 讀取到的資料會按上述順序往回送。2 寫操作 記憶體資料直接寫入...