Optymalizacja wywołania funkcji przechowywanej w klauzulach SELECT i WHERE
Mam zapytanie SQL o następującej strukturze:
SELECT *, storedfunc(param, table.field) as f
FROM table
WHERE storedfunc(param, table.field) < value
ORDER BY storedfunc(param, table.field);
Czy istnieje sposób na zoptymalizowanie tego, eliminując kilka wywołań funkcji? Czy MySQL wykonuje taką optymalizację za sceną? W rzeczywistości funkcja jest deklarowana jako deterministyczna.
Muszę również wspomnieć, że parametry funkcji są częściowo z kolumn wybranej tabeli. Zmieniłem nieco przykład, aby to odzwierciedlić.