牧云12 2017-11-08 13:44 采纳率: 0%
浏览 2199

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

跪求各位大神指教!!!

  • 写回答

2条回答 默认 最新

  • JPF1024 2017-11-08 14:05
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示