0
hiii, 我在我的web應用程序的java類中調用了一個存儲過程,有一些報告花費了很多時間來渲染jsp/HTML,我也用存儲過程查詢它只需要2秒鐘就可以在oracle瀏覽器中執行。我檢查了我的SP調用代碼,發現我的結果集獲取時間非常少,但是當試圖用While(rst.next)迭代結果集時,它幾乎需要3分鐘才能在while循環中打印SOP,我疑問必須有問題與ret.next(), 我的代碼如下,jdbc resultset性能下降
Connection connection = null;
CallableStatement stmt = null;
ResultSet rst = null ;
connection = DBConnector.getConnection();
stmt = connection.prepareCall("{call MIS_GSGR_ASON.MIS_DIVNETSALE_ASON(?,?,?,?,?,?,?,?,?)}");
stmt.setString(1,START_DT);
stmt.setString(2,END_DT);
stmt.setString(3,DIVISION);
stmt.setString(4,LOC_ID);
stmt.setInt(5,USER_GRP);
stmt.setInt(6,FIELD_ID);
stmt.setInt(7,Integer.parseInt(PERIOD_ID));
stmt.setString(8,zone);
stmt.registerOutParameter(9+INC,OracleTypes.CURSOR);
stmt.execute();
rst = (ResultSet) stmt.getObject(9+INC);
System.out.println("Got resultset . . . .");
data = new ArrayList<MainActionAll>();
while(rst.next()){
System.out.println("In loop");}
任何幫助將高度appriciated,請 感謝幫助我,AMOL
我不知道你通常在你的結果集迭代中做什麼,但在緊密的循環中打印到控制檯的簡單行爲本身*非常昂貴 – 2012-07-18 10:15:00
即時只是試圖打印我插入的SOP在while循環中,在獲得結果集後,我不能打印該語句,但它花費太多時間才能在控制檯上打印 – Amol 2012-07-18 11:11:15
您可以使用輸出到控制檯的代碼將您的代碼註釋掉嗎? – Olaf 2012-07-18 13:00:08