91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

向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

西贡区| 甘泉县| 绵竹市| 德阳市| 禄劝| 阜新| 达日县| 措勤县| 郁南县| 浏阳市| 永泰县| 舒城县| 兴化市| 东乡族自治县| 玛曲县| 永新县| 宁蒗| 仁化县| 城固县| 上饶县| 赤水市| 根河市| 商城县| 西乡县| 本溪| 绥中县| 资阳市| 军事| 汾阳市| 凤凰县| 古丈县| 北碚区| 沈丘县| 远安县| 淅川县| 龙海市| 浙江省| 甘谷县| 会宁县| 湟源县| 兴山县|