存储过程中Sql 语句查询速度优化 某例

来源:互联网 发布:lol物品数据库s7 编辑:程序博客网 时间:2024/06/06 11:04

之前的SQL语句如下,查询很慢,6分钟多都没有结果显示,一开始我以为是6张表联合查询带来的速度慢的问题。

后来发现因为PO_D.ORDNOPO_H.ORDNO相同,把绿色部分替换为紫色的部分,

PO_D替换为PO_H10秒钟就能查询出来

PS:PO_D101401笔数据,PO_H51341笔数据。

虽没有想明白替换之后提速到如此之快仅10秒,与6分钟未出结果差异太大,但毋庸置疑的是应该以数据量少的表

作相关外键查询是可以提高速度的。所以在写SQL语句时注意此处。

 

SELECT (SELECT DEPT_CODE FROM AM_EMPLOYEE WHERE EMP_NO=PO_H.APPLICANT) AS DEPT_CODE,

       **

       FROM

       IPPOHM AS PO_H,

       IPPODM AS PO_D,

       IPAVM  AS PV,

       IPPOTM AS PO_T,

       PC_PACN_LIST

    WHERE

       PO_D.ORDNO = PV.VORDNO

       AND

       PO_H.ORDNO =PO_D.ORDNO

       AND

       PO_D.ORDNO = PO_T.ORDNO

       AND

       PO_D.POISQ = PO_T.POISQ

 

 

---

       PO_H.ORDNO = PV.VORDNO

       AND

       PO_H.ORDNO =PO_D.ORDNO

       AND

       PO_H.ORDNO = PO_T.ORDNO