中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

向MySQL中插入100萬條數據需要多長時間

發布時間:2021-09-16 09:53:27 來源:億速云 閱讀:193 作者:chen 欄目:數據庫

本篇內容主要講解“向MySQL中插入100萬條數據需要多長時間”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“向MySQL中插入100萬條數據需要多長時間”吧!

目錄

1、多線程插入(單表)

2、多線程插入(多表)

3、預處理SQL

4、多值插入SQL

5、事務(N條提交一次)

多線程插入(單表)

問: 為何對同一個表的插入多線程會比單線程快? 同一時間對一個表的寫操作不應該是獨占的嗎?

答:在數據里做插入操作的時候,整體時間的分配是這樣的:

1、多鏈接耗時 (30%)

2、多發送query到服務器 (20%)

3、多解析query (20%)

4、多插入操作 (10% * 詞條數目)

5、多插入index (10% * Index的數目)

6、多關閉鏈接 (10%)

從這里可以看出來,真正耗時的不是操作,而是鏈接,解析的過程。

MySQL插入數據在寫階段是獨占的,但是插入一條數據仍然需要解析、計算、最后才進行寫處理,比如要給每一條記錄分配自增id,校驗主鍵唯一鍵屬性,或者其他一些邏輯處理,都是需要計算的,所以說多線程能夠提高效率。

多線程插入(多表)

分區分表后使用多線程插入。

預處理SQL

普通SQL  即使用Statement接口執行SQL

預處理SQL  即使用PreparedStatement接口執行SQL

使用PreparedStatement接口允許數據庫預編譯SQL語句,以后只需傳入參數,避免了數據庫每次都編譯SQL語句,因此性能更好。

多值插入SQL

普通插入SQL: INSERT INTO TBL_TEST (id) VALUES(1)

多值插入SQL: INSERT INTO TBL_TEST (id) VALUES (1), (2), (3)

使用多值插入SQL,SQL語句的總長度減少,即減少了網絡IO,同時也降低了連接次數,數據庫一次SQL解析,能夠插入多條數據。

事務(N條提交一次)

在一個事務中提交大量INSERT語句可以提高性能。

1、將表的存儲引擎修改為myisam 2、將 sql 拼接成字符串,每 1000 條左右提交事務。

  • 執行多條SQL語句,實現數據庫事務。 

  • mysql數據庫 

  • 多條SQL語句

10w條數據大概用時10s!

到此,相信大家對“向MySQL中插入100萬條數據需要多長時間”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大宁县| 县级市| 南投市| 邹城市| 龙里县| 临澧县| 诸城市| 衡水市| 筠连县| 桐乡市| 弥勒县| 凤山县| 德安县| 红原县| 台南市| 灌南县| 双牌县| 元氏县| 泗洪县| 中山市| 德格县| 东乡族自治县| 宁波市| 巫山县| 彝良县| 大港区| 扎兰屯市| 浠水县| 隆回县| 宁乡县| 遂昌县| 南京市| 福海县| 衡阳市| 方正县| 江油市| 静安区| 邢台市| 买车| 英山县| 留坝县|