今天在工作中统计一个数据,最开始比较顺利的执行完了sql,但后来用户稍稍调整了需求,本来我以为增加一个查询条件就可以搞定的事情,结果执行了二十多分钟才出结果。后来我查看了下执行计划,发现前后两个sql的执行计划有变化。
这两个SQL分别为:
SELECT T.YEARID, SUM(T.EXPORTSUM)
FROM STDW.F_CUSTOM_EXPORTDETAIL T,
(SELECT A.ZONE, A.ZONE_NAME
FROM STDW.D_CUSTOM_PROVINCE_ZONE A,
STDW.D_CUSTOM_BRANCH_PROVINCE B
WHERE A.PROVINCE_NO = B.PROVICEID
AND B.CORPID = 4400) T2
WHERE T.CITYNO = T2.ZONE
AND (T.CUSTOMCODE8 LIKE '03061%' OR T.CUSTOMCODE8 LIKE '03%' OR
(T.CUSTOMCODE8 LIKE '16%' AND T.CUSTOMCODE8 NOT LIKE '1601%' AND
T.CUSTOMCODE8 NOT LIKE '1602%'))
AND T.YEARID BETWEEN 2010 AND 2012
GROUP BY T.YEARID
SELECT T.YEARID, SUM(T.EXPORTSUM)
FROM STDW.F_CUSTOM_EXPORTDETAIL T,
(SELECT A.ZONE, A.ZONE_NAME
FROM STDW.D_CUSTOM_PROVIN