SQL语句执行慢

牧云12 发布于 2017/11/08 21:15
阅读 72
收藏 0

以下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左右。

跪求各位大神指教!!!

加载中
返回顶部
顶部