Query optimization by simulated annealing
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
The EXODUS optimizer generator
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
A rule-based view of query optimization
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Optimization of large join queries
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Optimization of large join queries: combining heuristics and combinatorial techniques
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
A performance evaluation of pointer-based joins
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Randomized algorithms for optimizing large join queries
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Efficient assembly for complex objects
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
Rule-based optimization and query processing in an extensible geometric database system
ACM Transactions on Database Systems (TODS)
Extensible/rule based query rewrite optimization in Starburst
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Experiences building the open OODB query optimizer
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
An extensible query optimizer for an objectbase management system
CIKM '95 Proceedings of the fourth international conference on Information and knowledge management
Rapid bushy join-order optimization with Cartesian products
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
A Modular Query Optimizer Generator
Proceedings of the Sixth International Conference on Data Engineering
Optimization of Nonrecursive Queries
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Implementing an Interpreter for Functional Rules in a Query Optimizer
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
Extending the Search Strategy in a Query Optimizer
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
A Blackboard Architecture for Query Optimization in Object Bases
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Fast, Randomized Join-Order Selection - Why Use Transformations?
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
EROC: A Toolkit for Building NEATO Query Optimizers
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
Control of an Extensible Query Optimizer: A Planning-Based Approach
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
A Rule-Based Query Rewriter in an Extensible DBMS
Proceedings of the Seventh International Conference on Data Engineering
The Volcano Optimizer Generator: Extensibility and Efficient Search
Proceedings of the Ninth International Conference on Data Engineering
Rule-based query optimization in extensible database systems
Rule-based query optimization in extensible database systems
Efficient mid-query re-optimization of sub-optimal query execution plans
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
Heuristic approach for early separated filter and refinement strategy in spatial query optimization
Journal of Systems and Software
EROC: A Toolkit for Building NEATO Query Optimizers
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
Enhancing an Extensible Query Optimizer with Support for Multiple Equivalence Types
ADBIS '01 Proceedings of the 5th East European Conference on Advances in Databases and Information Systems
Enhanced abstract data types in object-relational databases
The VLDB Journal — The International Journal on Very Large Data Bases
Stacked indexed views in microsoft SQL server
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
Experience with SAND-Tcl: a scripting tool for spatial databases
dg.o '00 Proceedings of the 2000 annual national conference on Digital government research
Optimal top-down join enumeration
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
An Extensible Virtual Digital Libraries Generator
ECDL '08 Proceedings of the 12th European conference on Research and Advanced Technology for Digital Libraries
A strategy to develop adaptive and interactive query brokers
IDEAS '08 Proceedings of the 2008 international symposium on Database engineering & applications
Parallelizing extensible query optimizers
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Partial join order optimization in the paraccel analytic database
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
An integrative approach to query optimization in native XML database management systems
Proceedings of the Fourteenth International Database Engineering & Applications Symposium
Flexible and extensible preference evaluation in database systems
ACM Transactions on Database Systems (TODS)
Hi-index | 0.01 |
In this paper we describe the design and implementation of OPT++, a tool for extensible database query optimization that uses an object-oriented design to simplify the task of implementing, extending, and modifying an optimizer. Building an optimizer using OPT++ makes it easy to extend the query algebra (to add new query algebra operators and physical implementation algorithms to the system), easy to change the search space, and also to change the search strategy. Furthermore, OPT++ comes equipped with a number of search strategies that are available for use by an optimizer-implementor. OPT++ considerably simplifies both, the task of implementing an optimizer for a new database system, and the task of evaluating alternative optimization techniques and strategies to decide what techniques are best suited for that database system. We present the results of a series of performance studies. These results validate our design and show that, in spite of its flexibility, OPT++ can be used to build efficient optimizers.