使用SQL 2005:「服用過多的時間來執行」查詢執行問題
我要過濾的日期,該日期不應該在節假日顯示,和我使用的三個表與內部連接
當我運行下面的查詢時,執行時間太長,因爲我用三個表格過濾了cardeventdate。
查詢
SELECT
PERSONID, CardEventDate tmp_cardevent3
WHERE (CardEventDate NOT IN
(SELECT T_CARDEVENT.CARDEVENTDATE
FROM T_PERSON
INNER JOIN T_CARDEVENT ON T_PERSON.PERSONID = T_CARDEVENT.PERSONID
INNER JOIN DUAL_PRO_II_TAS.dbo.T_WORKINOUTTIME ON T_CARDEVENT.CARDEVENTDAY = DUAL_PRO_II_TAS.dbo.T_WORKINOUTTIME.DAYCODE
AND T_PERSON.TACODE = DUAL_PRO_II_TAS.dbo.T_WORKINOUTTIME.TACODE
WHERE (DUAL_PRO_II_TAS.dbo.T_WORKINOUTTIME.HOLIDAY = 'true')
)
)
ORDER BY PERSONID, CardEventDate DESC
對於上述查詢,有任何其他的方法來做到日期過濾器。
期待我的查詢替代查詢?
看起來是發佈的初始選擇語句的失蹤子句? – Andrew 2009-10-13 11:06:04