我有一個快速運行而Where Where子句中沒有is null
參數的查詢,但是當我將它添加回來需要超過10分鐘才能運行。WHERE子句中的NULL導致查詢運行緩慢
SELECT
Parent_FRID, Name, lvl2desc, capyr, crpprjamt, empprjamt,
othprjamt AS Other_Projected, Fcrprepamt, Femprepamt, Fothrepamt, NFcrprepamt,
NFemprepamt, NFothrepamt, crpamt, empamt, othamt, Audited, Previous_Corp_Amt,
Previous_Emp_Amt, Previous_Total_Projected, Previous_Total_Reported,
Previous_Audited, crpfnl, empfnl, othfnl
FROM
Camp_Sum_6_Current_14
WHERE
cnttyp IS NULL AND
lvl2 <> '1020' AND
doncls in ('AG','CO')
我已經嘗試了一切,我無法弄清楚它。我試過一個子查詢。我嘗試將原始表中的Null值更改爲'None'。相同的查詢運行良好,不爲空。
這個問題並不是因爲你正在使用'IS NULL',而是因爲添加了一個新的過濾器,可能會迫使你在你的表上執行掃描。 cnttyp列中是否有索引? – Lamak 2014-10-30 17:42:34
搜索短語「sargable」。 http://stackoverflow.com/questions/799584/what-makes-a-sql-statement-sargable – EBarr 2014-10-30 17:46:43
表中有多少條記錄? – 2014-10-30 17:48:01