Следующий SQL занимает много времени для выполнения. Есть ли способ ускорить его? - PullRequest
2 голосов
/ 07 марта 2012
SELECT 
    ITM, OPB, INB, 
    (SELECT CODE FROM CodeandDescription WHERE ITM = RM_S4G100_KYBIN.ITM) As CODE, 
    (SELECT ITMD FROM CodeandDescription WHERE ITM = RM_S4G100_KYBIN.ITM) As ITMD, 
    CLB, DTE 
FROM 
    RM_S4G100_KYBIN 
WHERE 
    (DTE >= '01 Oct 2011') and (DTE <= '31 Oct 2011') 
    AND
    (SELECT ITMD 
     FROM CodeandDescription 
     WHERE ITM = RM_S4G100_KYBIN.ITM) IS NOT NULL
    AND
    (OPB <> '0.00000' OR INB <> '0.00000' OR CLB <> '0.00000') 
ORDER BY 
    ITMD, DTE

1 Ответ

1 голос
/ 07 марта 2012

Если вы выполняете INNER JOIN вместо дополнительного SELECT для CODE и ITMD, это должно ускорить запрос.

SELECT ITM, OPB, INB, CodeandDescription.CODE As CODE, CodeandDescription.ITMD As ITMD,
CLB, DTE FROM RM_S4G100_KYBIN INNER JOIN CodeandDescription ON CodeandDescription.ITM = RM_S4G100_KYBIN.ITM
WHERE (DTE >= '01 Oct 2011') and (DTE <= '31 Oct 2011') and
CodeandDescription.ITMD is not NULL  and 
(OPB <> '0.00000' or INB <> '0.00000' or CLB <> '0.00000')
ORDER BY ITMD, DTE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...