¿Expresiones de SQLServer CASE - evaluación de cortocircuito?

Estoy tratando de optimizar una consulta que hace algo como esto:

SELECT
   ...
   CASE WHEN (condition) THEN (expensive function call #1)
   ELSE (expensive function call #2) 
   END
...

El plan de consulta muestra que, incluso en los casos en que el 100% de las filas satisfacen la cláusula WHEN, una parte sustancial del tiempo se invierte en las llamadas al resultado en la rama ELSE.

La única forma en que puedo entender esto es suponer que SQLServer está evaluando ambos resultados, luego seleccionando solo uno basado en la evaluación de la condición WHEN, pero no puedo encontrar ninguna referencia definitiva sobre si los resultados de un CASE Las afirmaciones son evaluadas antes de los condicionales. ¿Alguien puede aclararme o indicarme una referencia?

Respuestas a la pregunta(2)

Su respuesta a la pregunta