批量處理JDBC語句提高處理速度 |
作者:佚名????來自:未知
有時候JDBC運行得不夠快,這使得有些程序員使用數據庫相關的存儲過程。作為一個替代方案,可以試試使用Statement 的批量處理特性看看能否同時執行所有的SQL以提高速度。 存儲過程的最簡單的形式就是包含一系列SQL語句的過程,將這些語句放在一起便于在同一個地方管理也可以提高速度。Statement 類可以包含一系列SQL語句,因此允許在同一個數據庫事務執行所有的那些語句而不是執行對數據庫的一系列調用。 使用批量處理功能涉及下面的兩個方法: 如果你正在使用Statement 那么addBatch 方法可以接受一個通常的SQL語句,或者如果你在使用PreparedStatement ,那么也可以什么都不向它增加。executeBatch 方法執行那些SQL語句并返回一個int值的數組,這個數組包含每個語句影響的數據的行數。如果將一個SELECT語句或者其他返回一個ResultSet的SQL語句放入批量處理中就會導致一個SQLException異常。 關于java.sql.Statement 的簡單范例可以是: Statement stmt = conn.createStatement(); PreparedStatement 有些不同,它只能處理一部分SQL語法,但是可以有很多參數,因此重寫上面的范例的一部分就可以得到下面的結果: // 注意這里沒有DELETE語句 User[ ] users = ...; 如果你不知道你的語句要運行多少次,那么這是一個很好的處理SQL代碼的方法。在不使用批量處理的情況下,如果添加50個用戶,那么性能就有影響,如果某個人寫了一個腳本添加一萬個用戶,程序可能變得很糟糕。添加批處理功能就可以幫助提高性能,而且在后面的那種情況下代碼的可讀性也更好。 |
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
歡迎探討,努力學習Java哈
常用鏈接
留言簿(3)
隨筆分類
- Java(11)
- JSP
- MyEclipse(1)
- Oracle 10g(3)
- Resin
- Spring
- SQL(4)
- Struts(1)
- Tomcat
- XML(2)
- 個人日志(1)
- 學習(5)
- 工作(1)
- 搜索引擎(7)
- 灌水(1)
- 貼圖
- 軟件工程
隨筆檔案
文章分類
文章檔案
Lansing's Download
Lansing's Link
我的博客
搜索
最新評論

- 1.?re: 關于ODBC數據源連接文本
- 評論內容較長,點擊標題查看
- --棱語明
- 2.?re: Oracle 10g TO_DATE() ora-01830 領悟共勉[未登錄]
- 評論內容較長,點擊標題查看
- --訪客
- 3.?re: Oracle 10g TO_DATE() ora-01830 領悟共勉
- 人才啊!
- --歲月無聲
- 4.?re: Struts框架技術在J2EE中的研究和應用[未登錄]
- dfetetgfgf
- --aa
- 5.?re: 關于ODBC數據源連接文本 [未登錄]
-
“坐在巷口的那對男女”呵呵 @blackbat
- --lansing