有時(shí)候JDBC運(yùn)行得不夠快,這使得有些程序員使用數(shù)據(jù)庫(kù)相關(guān)的存儲(chǔ)過(guò)程。作為一個(gè)替代方案,可以試試使用Statement 的批量處理特性看看能否同時(shí)執(zhí)行所有的SQL以提高速度。
存儲(chǔ)過(guò)程的最簡(jiǎn) " /> 久久av一区二区三区,伊人网综合在线,亚洲欧美视频一区

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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


有時(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ù),因此重寫(xiě)上面的范例的一部分就可以得到下面的結(jié)果: 
// 注意這里沒(méi)有DELETE語(yǔ)句
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO Users VALUES(?,?,?)"
);



User[ ] users = ...;
for(int i=0; i<users.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è)人寫(xiě)了一個(gè)腳本添加一萬(wàn)個(gè)用戶,程序可能變得很糟糕。添加批處理功能就可以幫助提高性能,而且在后面的那種情況下代碼的可讀性也更好。 

jsp技術(shù)批量處理JDBC語(yǔ)句提高處理速度,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品少妇一区二区三区日产乱码 | 91国产精品 | 亚洲免费视频一区 | 伊人二区| 精品亚洲一区二区 | 一级欧美视频 | 精产国产伦理一二三区 | 91在线成人 | 91成人免费 | 国产精品久久久久免费 | 91在线电影| 国产美女在线播放 | 国产精品永久免费观看 | www精品美女久久久tv | 99热播精品 | 久青草影院 | 日韩一区二 | 美女国产一区 | 好姑娘高清在线观看电影 | 成人视屏在线观看 | 91一区二区三区 | 日本成人福利 | 久久久成人精品 | 欧美中文在线 | 羞羞网站免费 | 欧美日韩一区二区三区四区五区 | 欧美日韩在线观看视频 | 超碰人人在线 | 亚洲色综合 | 日韩久久久久久 | 黄在线| 亚洲欧美一区二区三区在线 | www成年人视频 | 久久精彩 | 欧美日韩在线免费 | 一区观看 | 国产精品激情 | 成人片网址 | 青青久久| 欧美成人不卡 | 99在线资源|