Description
In this paper, we describe our approach to the optimization of query execution plans in XPRS, a multi-user parallel database machine based on a shared-memory multiprocessor and a disk array. The main difficulties in this optimization problem are the compile-time unknown parameters such as available buffer size and number of free processors, and the enormous search space of possible parallel plans. We deal with these problems with a novel two phase optimization strategy which dramatically reduces the search space and allows run time parameters without significantly compromising plan optimality. In this paper we present our two phase strategy and give experimental evidence from XPRS benchmarks that indicate that it almost always produces optimal plans.