Ik denk dat de oplossing in theorie je kan helpen de prestaties te verbeteren, maar het hangt ook af van wat de scalaire functie eigenlijk doet. Ik denk dat in dit geval (mijn gok is dat de datum wordt geformatteerd naar de laatste dag in het kwartaal) echt te verwaarlozen zou zijn.
Misschien wilt u deze pagina lezen met voorgestelde oplossingen:
En in Tijdelijke oplossingen staat een opmerking die
Het lijkt er dus op dat dit de prestaties kan verhogen.
Uw oplossing is correct, maar ik zou aanraden om een verbetering van de SQL te overwegen om in plaats daarvan ELSE te gebruiken, het lijkt mij schoner:
AND ReportTypeID = CASE WHEN (@X = 1) THEN 1
ELSE 4
END;