ISNULL() di pilih-klausa memiliki pengaruh yang dapat diabaikan pada kinerja. Di mana-klausa di sisi lain dapat memiliki dampak yang sangat besar pada kinerja, karena mencegah pengoptimal untuk menggunakan indeks pada kolom itu.
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.
Jadi, saat menggunakan isnull() di klausa mana, evaluasi apakah itu mencegah pengoptimal kueri menggunakan indeks. Jika demikian, pertimbangkan untuk membuat kolom yang dihitung dengan hasil if isnull(col1, 0) dan indeks kolom yang dihitung dan gunakan di klausa mana Anda.