iBatis中SQL执行慢是什么原因

以下SQL:

SELECT COUNT(*) totalCount,
       SUM(T.ALL_FREIGHT + T.TAX_FEE + T.SERVICE_FEE) totalFee,
       T.pay_state,
       T.INVOICE_STATE invoice_state
  FROM SYF.T_WB T, SYF.T_ORG
 WHERE 1 = 1
   AND O.BU_ID IN (50, 51, 52)
   AND O.BELONG_ACT_SYS IN (1, 2, 3, 4, 5, 6, 7, 8)
   AND T.ORG_ID = O.ORG_ID
   AND T.IS_DEL = 0
   AND T.CREATED_TIME >= TO_DATE('2017-10-13' || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
   AND T.CREATED_TIME <= TO_DATE('2017-10-19' || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
 GROUP BY T.pay_state, T.INVOICE_STATE;

T_WB数据在230W+,T_ORG在1W+

在PLSQL里面执行需要1S左右,代码中使用拼接SQL的方式1S多点,

如果使用iBatis的##(PreparedStatement)方式查询则需要5S以上。

如果给这个SQL加上fetchSize=35(上面的SQL会查询出30条左右的结果集),则时间可以快1S左右。

跪求各位大神指教!!!

如果你这个查询是比较固定的,可以考虑把查询结果先缓存起来,查询的时候直接取,速度会快很多。

另外,可以debug可以跟一下代码,具体看下是哪个环节出的问题,另外ibatis,现在都换成mybatis了,你可以试试升级版本.