牧云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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 CSS实现渐隐虚线边框
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题