關於JDBC的優化之一

2021-03-31 15:39:56 字數 1240 閱讀 2513

以下是一些常用的jdbc小技巧,也許可以提高你的系統的執行速度。

1.

當使用preparedstatement/callablestatement時,盡量使用它提供的setparams的方法。

下面是錯誤的方法:

callablestatement cstmt = conn.preparecall (

"");

resultset rs = cstmt.executequery ();

下面是正確的方法:

callablestatement cstmt - conn.preparecall (

"");

cstmt.setlong (1,12345);

resultset rs = cstmt.executequery();

2.使用批量更新的方法

一般都是使用這樣的方法更新:

preparedstatement ps = conn.preparestatement(

"insert into employees values (?, ?, ?)");

for (n = 0; n < 100; n++)

如果使用jdbc的高階功能的話,批量更新應該會有更高的效率:

preparedstatement ps = conn.preparestatement(

"insert into employees values (?, ?, ?)");

for (n = 0; n < 100; n++)

ps.executebatch();

3.正確使用resultset的get方法

盡量不要使用諸如rs.getobject()這樣的方法,另外如果還要更高的效率的話,請使用rs.getstring(1)這樣通過字段索引號的方式來取得字段值,而不是使用象rs.getstring("username")這樣的方法來取得字段值。

4.取得剛增加的記錄的自動增加型別的字段的值

如果你的jdbc驅動支援的話,有乙個很方便的方法可以取得自增字段的值,如下:

int rowcount = stmt.executeupdate (

"insert into localgeniuslist (name) values ('karen')",

statement.return_generated_keys);

resultset rs = stmt.getgeneratedkeys ();

JDBC優化技巧之一

以下是一些常用的jdbc小技巧,也許可以提高你的系統的執行速度。1.當使用preparedstatement callablestatement時,盡量使用它提供的setparams的方法。下面是錯誤的方法 callablestatement cstmt conn.preparecall resul...

SQL優化之一

在sqlserver2008 management studio中執行下列 set statistics time on goselect from information.lhbinfo where tradingdate between 2010 01 01 and 2011 06 10 god...

tinyxml優化之一

最近在搞xml解析優化,公司引擎用了tinyxml1和tinyxml2兩個xml庫,後者的效率比前者高60 吧,tinyxml1解析大檔案是很慢的,可以淘汰了,tinyxml2還勉強,快的話還得算pugixml或者rapidxml吧。奈何一些引擎 根深蒂固,無法更換為pugixml,只能區域性修改一...