The problem of finding the optimal join ordering executing a query to a relational database management system is a combinatorial optimization problem, which makes deterministic exhaustive solution search unacceptable for queries with a great number of joined relations. In this work an adaptive genetic algorithm with dynamic population size is proposed for optimizing large join queries. The performance of the algorithm is compared with that of several classical non-deterministic optimization algorithms. Experiments have been performed optimizing several random queries against a randomly generated data dictionary. The proposed adaptive genetic algorithm with probabilistic selection operator outperforms in a number of test runs the canonical genetic algorithm with Elitist selection as well as two common random search strategies and proves to be a viable alternative to existing non-deterministic optimization approaches.
[1]
Elena Marchiori,et al.
Evolutionary Algorithms with On-the-Fly Population Size Adjustment
,
2004,
PPSN.
[2]
Michael C. Ferris,et al.
A Genetic Algorithm for Database Query Optimization
,
1991,
ICGA.
[3]
Yannis E. Ioannidis,et al.
Randomized algorithms for optimizing large join queries
,
1990,
SIGMOD '90.
[4]
Thomas Haynes,et al.
Random Search versus Genetic Programming as Engines for Collective Adaptation
,
1998,
Evolutionary Programming.
[5]
Guido Moerkotte,et al.
Optimizing Join Orders
,
1993
.
[6]
Myra Spiliopoulou,et al.
Genetic programming in database query optimization
,
1996
.
[7]
Günter Rudolph,et al.
Convergence analysis of canonical genetic algorithms
,
1994,
IEEE Trans. Neural Networks.