JDBC(六)批量處理sql

2021-09-24 09:00:31 字數 904 閱讀 5888

批量更新是分組在一起的一批更新,並以「批量」方式傳送到資料庫,而不是逐個傳送更新。

一次傳送一批更新到資料庫,比乙個乙個傳送更快,等待每個更新完成。 傳送一批更新(僅一次往返)涉及的網路流量較少,資料庫可能能夠並行執行一些更新。 與逐個執行更新相比,加速可能相當大。

有兩種方法可以執行批量更新:

###statement 批量更新

用statement物件執行批量更新時,用到addbatch()和executebatch()方法。例子:

statement statement = null;

try finally

複製**

使用addbatch()方法新增要在批處理中執行的sql語句。然後使用executebatch()執行sql語句。

###preparedstatement 批量更新 還可以使用preparedstatement物件執行批量更新。 preparedstatement可以重用相同的sql語句,並只需插入新引數即可執行每個更新:

string sql = "update user set username=? where id=?";

preparedstatement preparedstatement = null;

tryfinally

}複製**

將每組引數值插入到preparedstatement中,並呼叫addbatch()方法。 這會將引數值新增到批處理內部。 現在可以新增另一組值,以便插入到sql語句中。 將全部批次傳送到資料庫後,將每組引數插入到sql中並分別執行。然後執行executebatch()方法,它執行所有的批量更新。 sql語句和引數集一起傳送到資料庫。

###注意

批量操作應該放到事務裡進行,因為它會存在某條語句執行失敗的情況。

JDBC批量處理

1.statement 提供addbatch string sql 和 excutebatch 方法批量更新資料 statement smt smt.addbatch insert into talbename.smt.addbatch sql 語句2 smt.addbatch sql 語句3 sm...

SQL2005 批量修改架構名

sql server2005可以使用系統儲存過程sp changeobjectowner更改資料庫物件的所有者。sp changeobjectowner 物件名 包括架構名 新架構名 批量修改請用 方法一 使用游標 declare name sysname declare csr1 cursor f...

Elasticsearch(三) 批量操作

語法 什麼是partial update?put index type id,建立文件 替換文件,就是一樣的語法 一般對應到應用程式中,每次的執行流程基本是這樣的 1 應用程式先發起乙個get請求,獲取到document,展示到前台介面,供使用者檢視和修改 2 使用者在前台介面修改資料,傳送到後台 ...