MySQL批量插入多條數據

Mysql在插入大量數據(十萬級或者百萬級別)時效率會變得很差,所以需要採用以下方法來提高其插入效率。

a)      關閉自動提交 ,改爲手動提交 

        connect.setAutoCommit(false);

        插入數據完後最後再con.commit();

b)      拆分數據,多線程入庫

c)       一條插入語句插入多條數據

insert  into tableName (colume1,colume2, colume3)
         values(1,2,3,), (4,5,6,), (7,8,9) ........

d)      使用批處理

         可以加上批處理技術,但是使用了一條語句插入多條數據後,批處理的作用就不大了

可能碰到的問題

1. 因爲一條sql語句可能會很大,但是Mysql數據庫會對單次插入的數據大小有限制,所以應該更改數據庫中的max_allowed_packet值,將此值調大即可,當該值過小時會拋出一個異常,根據異常的堆棧信息便可定位到解決方案


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章