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 <h...@tbbs.net>

> 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=mdyk...@gmail.com
>
>


-- 
 - michael dykman
 - mdyk...@gmail.com

 May the Source be with you.

Reply via email to