以下是一些常用的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,只能區域性修改一...