Genetic algorithm optimisation of distributed database queries
Mark A Gregory · 2002
Distributed relational database query optimisation is a combinatorial optimisation problem. This paper reports on an initial investigation into the potential for a genetic algorithm (GA) to optimise distributed queries. A genetic algorithm is developed and its performance compared with alternative stochastic optimisation techniques: random search, multistart and simulated annealing. The problem of fully reducing all tables in a tree query is used to compare the techniques. For this problem, evaluating the fitness function is an expensive operation. The proposed GA uses a tree-structured data model with tailored crossover and mutation operators that avoid the need to fully re-evaluate the fitness function for new solutions. Query optimisation is a task that must be performed in real-time. A technique is required that performs well at the start of a search, but avoids the problem of premature convergence. The proposed GA uses a local search phase to deliver the required real-time performance. Experiments show that the proposed GA can perform better than the alternative techniques tested. The potential for a GA to deliver valuable distributed query processing cost reductions is demonstrated.