I think the only clues the optimizer consults with regard to UDFs is the
'characteristic' provided at the time you create the routine.
from http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html
*
*
*characteristic*:
COMMENT '*string*'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
- michael dykman
2011/10/8 Halász Sándor <hsv@stripped>
> Does the optimizer look into function called from query?
>
> In my queries the expression (SELECT hwyl FROM Stock) / (SELECT
> regularPayment FROM Stock), where Stock is a one-record table, often is
> repeated. The optimizer sees that, and makes the ratio a constant, and I can
> afford to be clear. If that expression were within a function called from
> the same spot, would the optimizer look into the function and see the same
> effectiv constant? or is it better to make it an argument to the function?
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=1
>
>
--
- michael dykman
- mdykman@stripped
May the Source be with you.