Abstract
The problem of finding an optimal global plan for a tree query in a distributed database is studied under the objective of total processing time minimization. A two-step pruning algorithm based on dynamic programming is presented. This algorithm performs a pruning step twice for each subquery by designing two separate equivalence criteria applicable to each subquery. This lessens the search work done by the optimizer considerably. Without losing optimality, the search space for finding the optimum is reduced by aggregating partial plans that always incur the same processing time into a single plan and eliminating partial plans that can never be the optimum.