主頁(yè) > 知識(shí)庫(kù) > 批量處理JDBC語(yǔ)句提高處理速度

批量處理JDBC語(yǔ)句提高處理速度

熱門標(biāo)簽:漯河辦理400電話 電話機(jī)器人的特色和創(chuàng)新 商丘百應(yīng)電話機(jī)器人有沒(méi)有效果 淮南騰訊地圖標(biāo)注 地圖標(biāo)注人員兼職 騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià) 怎樣把地圖標(biāo)注出來(lái) 黃石智能營(yíng)銷電銷機(jī)器人效果

有時(shí)候JDBC運(yùn)行得不夠快,這使得有些程序員使用數(shù)據(jù)庫(kù)相關(guān)的存儲(chǔ)過(guò)程。作為一個(gè)替代方案,可以試試使用Statement 的批量處理特性看看能否同時(shí)執(zhí)行所有的SQL以提高速度。 
存儲(chǔ)過(guò)程的最簡(jiǎn)單的形式就是包含一系列SQL語(yǔ)句的過(guò)程,將這些語(yǔ)句放在一起便于在同一個(gè)地方管理也可以提高速度。Statement 類可以包含一系列SQL語(yǔ)句,因此允許在同一個(gè)數(shù)據(jù)庫(kù)事務(wù)執(zhí)行所有的那些語(yǔ)句而不是執(zhí)行對(duì)數(shù)據(jù)庫(kù)的一系列調(diào)用。 
使用批量處理功能涉及下面的兩個(gè)方法: 
· addBatch(String) 方法 
· executeBatch方法 
如果你正在使用Statement 那么addBatch 方法可以接受一個(gè)通常的SQL語(yǔ)句,或者如果你在使用PreparedStatement ,那么也可以什么都不向它增加。executeBatch 方法執(zhí)行那些SQL語(yǔ)句并返回一個(gè)int值的數(shù)組,這個(gè)數(shù)組包含每個(gè)語(yǔ)句影響的數(shù)據(jù)的行數(shù)。如果將一個(gè)SELECT語(yǔ)句或者其他返回一個(gè)ResultSet的SQL語(yǔ)句放入批量處理中就會(huì)導(dǎo)致一個(gè)SQLException異常。 
關(guān)于java.sql.Statement 的簡(jiǎn)單范例可以是: 
Statement stmt = conn.createStatement();
stmt.insert("DELETE FROM Users");
stmt.insert("INSERT INTO Users VALUES("rod", 37, "circle")");
stmt.insert("INSERT INTO Users VALUES("jane", 33, "triangle")");
stmt.insert("INSERT INTO Users VALUES("freddy", 29, "square")");
int[] counts = stmt.executeBatch(); 
PreparedStatement 有些不同,它只能處理一部分SQL語(yǔ)法,但是可以有很多參數(shù),因此重寫上面的范例的一部分就可以得到下面的結(jié)果: 
// 注意這里沒(méi)有DELETE語(yǔ)句
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO Users VALUES(?,?,?)"
);



User[ ] users = ...;
for(int i=0; iusers.length; i++) {
stmt.setInt(1, users[i].getName());
stmt.setInt(2, users[i].getAge());
stmt.setInt(3, users[i].getShape());
stmt.addBatch( );
}
int[ ] counts = stmt.executeBatch(); 
如果你不知道你的語(yǔ)句要運(yùn)行多少次,那么這是一個(gè)很好的處理SQL代碼的方法。在不使用批量處理的情況下,如果添加50個(gè)用戶,那么性能就有影響,如果某個(gè)人寫了一個(gè)腳本添加一萬(wàn)個(gè)用戶,程序可能變得很糟糕。添加批處理功能就可以幫助提高性能,而且在后面的那種情況下代碼的可讀性也更好。 
您可能感興趣的文章:
  • JDBC大批量寫入數(shù)據(jù)到SQLServer2000,記錄數(shù)大于10000
  • Java批量修改文件名的實(shí)例代碼
  • java 下執(zhí)行mysql 批量插入的幾種方法及用時(shí)
  • java文件重命名(文件批量重命名)實(shí)例程序代碼分享
  • Java實(shí)現(xiàn)文件批量重命名具體實(shí)例
  • Java快速批量移動(dòng)文件的實(shí)現(xiàn)方法
  • Java 批量刪除html中注釋內(nèi)容的方法
  • 實(shí)例講解Java批量插入、更新數(shù)據(jù)
  • python實(shí)現(xiàn)JAVA源代碼從ANSI到UTF-8的批量轉(zhuǎn)換方法
  • java實(shí)現(xiàn)jdbc批量插入數(shù)據(jù)

標(biāo)簽:紅河 大興安嶺 鄭州 武威 拉薩 馬鞍山 岳陽(yáng) 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批量處理JDBC語(yǔ)句提高處理速度》,本文關(guān)鍵詞  批量,處理,JDBC,語(yǔ)句,提高,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《批量處理JDBC語(yǔ)句提高處理速度》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于批量處理JDBC語(yǔ)句提高處理速度的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章