User functions itself might be of different "cost", this especially applies to SQL user functions, however generic UDF may also requre Disk or Network IO for their execution. Few items we might do about it: - Estimate cost for "SQL" User Functions executions - Allow to specify cost for Binary UDFs to fine tune optimizer behavior. - Optimize Where clause processing taking cost in account. If we have A=UDF1() and/or B=UDF2() in where clause, the order of processing shall take cost of UDF into account - Allow to specify if UDF is deterministic or not, cache expensive UDF values for wuery execution in JOIN. This item is based on one customer concern, who had pretty expensive UDF, and found it is executed over and over for the same values in join execution.