ISNULL() в клаузата за избор има незначително влияние върху производителността. В клаузата where, от друга страна, може да има много голямо влияние върху производителността, тъй като не позволява на оптимизатора да използва индекс в тази колона.
where isnull(col1, 0) = 0 -- unable to use index, because every
-- row has to be evaluated
where col1 = isnull(@myVar, 0) -- index will be used, since isnull(@myVar, 0)
-- returns the same static value for every row and
-- not every row has to be evaluated by the function.
Така че, когато използвате isnull() в клауза where, оценете дали пречи на оптимизатора на заявките да използва индекс. Ако е така, обмислете създаването на изчислена колона с резултат if isnull(col1, 0) и индексирайте изчислената колона и я използвайте във вашата клауза where.