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.