DB2查询缓慢,如何优化

SELECT E.ORDERNUM, E.SBDNUM,( CASE WHEN E.SBDNUM IS NULL ORTRIM(E.SBDNUM) = '' THEN E.CORPNAME ELSE E.CONFIRMCORPNAME END ) AS CORPNAME,
E.ORDERDATE, E.SCHEDULEDATE,E.MEMBERCODE,COALESCE(COUNTRYCODE,'142') ASCOUNTRYCODE,E.LANGTYPE,DISTRICTCODE,E.NOTE,E.SERVICETYPE,
  E.PRODUCTCODE,M.CREDITOR,M.CROPERATOR,P.CNAME AS creditorName, P2.CNAMEAS croperatorName  
  FROM ERP.T_REPORTORDER E
  JOIN ERP.T_REPORTMANAGE M ON E.ORDERNUM = M.ORDERNUM  
  LEFT JOIN ERP.TS_EMPLOYEES P ON P.EMPLOYEEID=M.CREDITOR
  LEFT JOIN ERP.TS_EMPLOYEES P2 ON P2.EMPLOYEEID=M.CROPERATOR  
  WHERE SUBSTR(E.DISTRICTCODE,1,2) =ANY (SELECT SUBSTR(DISTRICTCODE,1,2)
  FROM ERP.TC_EMPLOYEEATDISTRICT WHERE EMPLOYEEID='SINO0188' )  
  AND ( M.REPORTSTATUS = 'G' Or M.REPORTSTATUS = 'F' ) ANDE.ORDERSTATE != 'C'
  AND E.ORDERDATE >=DATE('2012-04-08')  AND NOT EXISTS
  (SELECT CO.ORDERNUM FROM  ERP.T_PURCHASEORDERINFO CO WHERECO.ORDERNUM = E.ORDERNUM AND CO.ENTRUSTSTATUS!='3' AND
  CO.ENTRUSTSTATUS!='4' AND COMMCODE NOT LIKE 'M%' ANDCO.LANGTYPE='1'  and isFinance='0' )

以上T_REPORTORDER,T_REPORTMANAGE和T_PURCHASEORDERINFO表都是百万级数据,怎么一欧化

参与22

提问者

lingyunt
网站开发工程师experian

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-02-16
  • 关注会员:8 人
  • 问题浏览:6459
  • 最近回答:2017-07-05
  • X社区推广