ho una query SQL con la seguente struttura:Ottimizzare una chiamata di funzione memorizzata in clausole SELECT e WHERE
SELECT *, storedfunc(param, table.field) as f
FROM table
WHERE storedfunc(param, table.field) < value
ORDER BY storedfunc(param, table.field);
Esiste un modo per ottimizzare questo eliminando diverse chiamate di funzione? Oppure MySQL esegue questa ottimizzazione dietro le quinte? In effetti la funzione è dichiarata come deterministica.
Ho anche bisogno di ricordare che i parametri della funzione sono parzialmente dalle colonne della tabella selezionata. Ho cambiato leggermente l'esempio per riflettere questo.
è 'param' un colonna nella tabella o un parametro? –