jdbc批量插入

2021-09-22 17:27:47 字數 868 閱讀 5537

分享牛,分享牛原創。有這樣乙個需求,文字檔案中的資料批量的插入mysql

,怎麼用

jdbc

方式批量插入呢?

jdbc預設提供了批量插入的方法,可能用一次就忘記了,這裡做筆記記錄一下

jdbc

批量插入吧。

connection conn = null;

try

//執行

ps.executebatch();

conn.commit();

}catch(exception e)

}

conn.setautocommit(false);

開啟不支援事物,為什麼要開啟這個不支援事物的操作呢?這裡主要是為了提高批量插入的效率,因為如果開啟事物,那麼mysql

批量插入的時候,會產生乙個

log檔案記錄,每一條

insert

產生乙個

log記錄,那這樣其實跟單條

sql的插入基本一樣,所以關閉事務。這樣效能提高可能是量級的提公升。

當sql

非常多的時候,我們可以查詢到

1000

條sql

的時候,就插入到資料庫,這樣保證每次插入的記錄數就是批量插入一定的數量,而不是一次性非常多,**的演變如下:

public static void main(string args) 

}//執行剩餘的資料

ps.executebatch();

conn.commit();

}catch(exception e)

分享牛原創(

JDBC批量插入資料

一.直接上源 以匯入課表資料為例 批量插入新申請 匯入預設課表 throws sqlexception catch sqlexception e int number ps.executebatch 把剩餘的資料插入 conn.commit 手動提交事務 try catch sqlexception...

JDBC批量插入資料

批量操作的方式一般有兩種 事務提交方式和批量處理 先將命令的提交方式設為false,即手動提交conn.setautocommit false 最後在所有命令執行完之後再提交事務conn.commit private string url jdbc mysql localhost 3306 test...

jdbc 批量插入優化

專案中有乙個大資料插入的功能是通過jdbc的批處理實現的,但效率一直不理想。最近研究了一下,做如下總結 1 如果id使用的是uuid,一定要保證有序。因為通常資料庫會為主鍵建立聚集索引。而聚集索引是用來指明資料排序規則的。所以,對於非有序的id,插入的同時會做大量的排序操作,很影響效率。另外,我們在...