Dynamic query evaluation plans

In most database systems, a query embedded in a program written in a conventional programming language is optimized when the program is compiled. The query optimizer must make assumptions about the values of the program variables that appear as constants in the query, the resources that can be committed to query evaluation, and the data in the database. The optimality of the resulting query evaluation plan depends on the validity of these assumptions. If a query evaluation plan is used repeatedly over an extended period of time, it is important to determine when reoptimization is necessary. Our work aims at developing criteria when reoptimization is required, how these criteria can be implemented efficiently, and how reoptimization can be avoided by using a new technique called dynamic query evaluation plans. We experimentally demonstrate the need for dynamic plans and outline modifications to the EXODUS optimizer generator required for creating dynamic query evaluation plans.

[1]  Eugene Wong,et al.  Decomposition—a strategy for query processing , 1976, TODS.

[2]  Fernando Pereira,et al.  Prolog - the language and its implementation compared with Lisp , 1977, Artificial Intelligence and Programming Languages.

[3]  Eugene Wong,et al.  Query Processing In A Relational Database Management System , 1979, Fifth International Conference on Very Large Data Bases, 1979..

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

[5]  S. B. Yao,et al.  Optimization of query evaluation algorithms , 1979, ACM Trans. Database Syst..

[6]  Patricia G. Selinger,et al.  Support for repetitive transactions and ad hoc queries in System R , 1981, TODS.

[7]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[8]  Clement T. Yu,et al.  On the design of a query processing strategy in a distributed database environment , 1983, SIGMOD '83.

[9]  Stavros Christodoulakis,et al.  Estimating block transfers and join sizes , 1983, SIGMOD '83.

[10]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[11]  Stavros Christodoulakis,et al.  Estimating record selectivities , 1983, Inf. Syst..

[12]  Stavros Christodoulakis,et al.  Estimating Block Selectivities , 1984, Inf. Syst..

[13]  David Maier,et al.  Making smalltalk a database system , 1984, SIGMOD '84.

[14]  Guy M. Lohman,et al.  Optimizer Validation and Performance Evaluation for Distributed Queries , 1998 .

[15]  Guy M. Lohman,et al.  R* optimizer validation and performance evaluation for local queries , 1986, SIGMOD '86.

[16]  INFOPLEX: Research in a High-Performance Database Computer , 2011, IEEE Database Eng. Bull..

[17]  H. M. Taylor,et al.  ESTIMATING BLOCK ACCESSES WHEN ATTRIBUTES ARE CORRELATED , 1986 .

[18]  Dina Bitton,et al.  Estimating Block Accessses when Attributes are Correlated , 1986, VLDB.

[19]  David J. DeWitt,et al.  The EXODUS optimizer generator , 1987, SIGMOD '87.

[20]  Goetz Graefe,et al.  Rule-Based Query Optimization in Extensible Database Systems , 1987 .

[21]  Michael J. Carey,et al.  Programming constructs for database system implementation in EXODUS , 1987, SIGMOD '87.

[22]  Dina Bitton,et al.  A general framework for computing block accesses , 1987, Inf. Syst..

[23]  Michael Stonebraker,et al.  The Design of XPRS , 1988, VLDB.

[24]  David Maier,et al.  Query Optimization in Object-Oriented Database Systems: A Prospectus , 1988, OODBS.

[25]  Michael V. Mannino,et al.  Statistical profile estimation in database systems , 1988, CSUR.

[26]  Goetz Graefe,et al.  Relational division: four algorithms and their performance , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[27]  Philip S. Yu,et al.  Adaptive selection of access path and join method , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.