An Evolutionary Algorithm for Query Optimization in Database

Optimizing the database queries is one of hard research problems. Exhaustive search techniques like dynamic programming is suitable for queries with a few relations, but by increasing the number of relations in query, much use of memory and processing is needed, and the use of these methods is not suitable, so we have to use random and evolutionary methods. The use of evolutionary methods, because of their efficiency and strength, has been changed in to a suitable research area in the field of optimizing the database queries. In this paper, a hybrid evolutionary algorithm has been proposed for solving the optimization of Join ordering problem in database queries. This algorithm uses two methods of genetic algorithm and learning automata synchronically for searching the states space of problem. It has been showed in this paper that by synchronic use of learning automata and genetic algorithms in searching process, the speed of finding an answer has been accelerated and prevented from getting stuck in local minimums. The results of experiments show that hybrid algorithm has dominance over the methods of genetic algorithm and learning automata.

[1]  Calisto Zuzarte,et al.  CGO: A Sound Genetic Optimizer for Cyclic Query Graphs , 2006, International Conference on Computational Science.

[2]  Eugene Wong,et al.  Query optimization by simulated annealing , 1987, SIGMOD '87.

[3]  Martin L. Kersten,et al.  Fast, Randomized Join-Order Selection - Why Use Transformations? , 1994, VLDB.

[4]  P. Mars,et al.  Application of Learning Automata to Image Data Compression , 1986 .

[5]  Brian Falkenhainer,et al.  The Structure-Mapping Engine: Algorithm and Examples , 1989, Artif. Intell..

[6]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[7]  Carlo Zaniolo,et al.  Optimization of Nonrecursive Queries , 1986, VLDB.

[8]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[9]  Arun N. Swami,et al.  Optimization of large join queries: combining heuristics and combinatorial techniques , 1989, SIGMOD '89.

[10]  Myra Spiliopoulou,et al.  Genetic programming in database query optimization , 1996 .

[11]  Toshihide Ibaraki,et al.  On the optimal nesting order for computing N-relational joins , 1984, TODS.

[12]  Balakrishna R. Iyer,et al.  A polynomial time algorithm for optimizing join queries , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[13]  Kumpati S. Narendra,et al.  Learning automata - an introduction , 1989 .

[14]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[15]  Michael C. Ferris,et al.  A Genetic Algorithm for Database Query Optimization , 1991, ICGA.

[16]  Guido Moerkotte,et al.  Heuristic and randomized optimization for the join ordering problem , 1997, The VLDB Journal.

[17]  Yannis E. Ioannidis,et al.  Randomized algorithms for optimizing large join queries , 1990, SIGMOD '90.

[18]  Kuo-Chin Fan,et al.  Genetic-based search for error-correcting graph isomorphism , 1997, IEEE Trans. Syst. Man Cybern. Part B.

[19]  Arun N. Swami,et al.  Optimization of large join queries , 1988, SIGMOD '88.

[20]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[21]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

[22]  B. John Oommen,et al.  Deterministic Learning Automata Solutions to the Equipartitioning Problem , 1988, IEEE Trans. Computers.

[23]  P. S. Sastry,et al.  A reinforcement learning neural network for adaptive control of Markov chains , 1997, IEEE Trans. Syst. Man Cybern. Part A.

[24]  Mandayam A. L. Thathachar,et al.  Learning Optimal Discriminant Functions through a Cooperative Game of Automata , 1987, IEEE Transactions on Systems, Man, and Cybernetics.

[25]  Patrick Valduriez,et al.  On the Effectiveness of Optimization Search Strategies for Parallel Execution Spaces , 1993, VLDB.