Мисля, че решението на теория може да ви помогне да увеличите производителността, но зависи и от това какво всъщност прави скаларната функция. Мисля, че в този случай (моето предположение е форматиране на датата към последния ден от тримесечието) наистина би било незначително.
Може да искате да прочетете тази страница с предложените решения:
И в Заобиколни решения има коментар, че
Така че изглежда, че да, това може да увеличи производителността.
Вашето решение е правилно, но бих препоръчал да обмислите подобрение на SQL, за да използвате ELSE вместо това, изглежда ми по-чисто:
AND ReportTypeID = CASE WHEN (@X = 1) THEN 1
ELSE 4
END;