Comparing A-Star Heuristics with Integer Linear Programming for the Multiple Query Optimization Problem (original) (raw)

Multiple Query Optimization (MQO) is a technique for processing a set of queries as a batch in such a way that shared tasks in these queries are executed only once, resulting in significant savings in the total evaluation cost of the batch. The first phase of MQO requires producing alternative query execution plans so that the shared tasks between queries are identified and maximized. The second phase of MQO is an optimization problem where the goal is selecting exactly one of the alternative plans for each query such that the total execution cost of all queries is minimized. A-star, branch-and-bound, dynamic programming (DP), and genetic algorithm (GA) solutions for MQO have been given in the literature. However, the performance of optimal algorithms, A-star and DP, is not sufficient for solving large MQO problems involving 20-100 queries which are quite common in large shared databases used by on-line services and web servers. In this study, we propose an Integer Linear Programming (ILP) formulation to solve large MQO problem instances and experimentally evaluate its performance. Our results show that ILP greatly outperforms the best existing A-star algorithm for solving MQO.