[英]JDBC batch insert being SLOW! I mean, REALLY SLOW?
這是交易:
DriverManager
創建連接conn
conn.autoCommit(false);
PreparedStatement pStat = conn.prepareStatement(insert_string_with_parameter);
pStat.addBatch();
添加了批處理pStat.addBatch();
addBatch()
10000次),我調用pStat.executeBatch();
pStat.clearBatch()
即使以上聽起來對我來說都很好,但是這很慢!!! 。
我平均每秒只有35條記錄(總共只有8列,只有技術上自動遞增的主鍵,有些不是空約束)。 我計算將需要一周的時間來插入我所有的2000萬行...
我做錯什么了嗎?
每個批處理周期應嘗試添加幾行? 10000太多了嗎?
如果您碰巧將MySQL與JDBC驅動程序一起使用,版本為5.1.7,則可能會受到影響批量插入速度的錯誤的影響。 更新到5.1.10或更高版本應該注意這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.