Otimizando uma chamada de função armazenada nas cláusulas SELECT e WHERE
Eu tenho uma consulta SQL com a seguinte estrutura:
SELECT *, storedfunc(param, table.field) as f
FROM table
WHERE storedfunc(param, table.field) < value
ORDER BY storedfunc(param, table.field);
Existe uma maneira de otimizar isso, eliminando várias chamadas de função? Ou o MySQL faz essa otimização por trás da cena? De fato, a função é declarada como determinística.
Também preciso mencionar que os parâmetros da função são parcialmente das colunas da tabela selecionada. Eu mudei o exemplo ligeiramente para refletir isso.