Abstract
We examine the problem of producing the optimal evaluation order for queries containing joins, selections, and maps.Specifically, we look at the case where common subexpressions involvingexpensive UDF calls can be factored out. First, we show that ignoring factorization during optimization can lead to plans that are far off the bestpossible plan: the difference in cost between the best plan considering factorization and the best plan not considering factorization can easily reach several orders of magnitude. Then, we introduce optimization strategies that produce optimal left-deep and bushy plans when factorization is taken into account. Experiments (1) confirm that factorization is a critical issue when it comes to generating optimal plans and (2) we show that to consider factorization does not make plan generation significantly more expensive. © Springer-Verlag Berlin Heidelberg 2006.