The EXODUS optimizer generator
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Measuring the complexity of join enumeration in query optimization
Proceedings of the sixteenth international conference on Very large databases
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
Efficient search in extensible database query optimization: the volcano optimizer generator
Efficient search in extensible database query optimization: the volcano optimizer generator
Experiences building the open OODB query optimizer
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Uniformly-Distributed Random Generation of Join Orders
ICDT '95 Proceedings of the 5th International Conference on Database Theory
Massive Stochastic Testing of SQL
VLDB '98 Proceedings of the 24rd International Conference on Very Large Data Bases
The Complexity of Transformation-Based Join Enumeration
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
The Volcano Optimizer Generator: Extensibility and Efficient Search
Proceedings of the Ninth International Conference on Data Engineering
Join Order Selection - Good Enough Is Easy
BNCOD 17 Proceedings of the 17th British National Conferenc on Databases: Advances in Databases
Estimating compilation time of a query optimizer
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
Analyzing plan diagrams of database query optimizers
VLDB '05 Proceedings of the 31st international conference on Very large data bases
A genetic approach for random testing of database systems
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Parallelizing extensible query optimizers
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Validating the Oracle SQL engine
Proceedings of the Second International Workshop on Testing Database Systems
Using the optimizer to generate an effective regression suite: a first step
Proceedings of the Third International Workshop on Testing Database Systems
Plan space analysis: an early warning system to detect plan regressions in cost-based optimizers
Proceedings of the Fourth International Workshop on Testing Database Systems
Truly adaptive optimization: the basic ideas
DEXA'06 Proceedings of the 17th international conference on Database and Expert Systems Applications
Peak power plays in database engines
Proceedings of the 15th International Conference on Extending Database Technology
Testing the accuracy of query optimizers
DBTest '12 Proceedings of the Fifth International Workshop on Testing Database Systems
Hi-index | 0.00 |
Testing an SQL database system by running large sets of deterministic or stochastic SQL statements is common practice in commercial database development. However, code defects often remain undetected as the query optimizer's choice of an execution plan is not only depending on the query but strongly influenced by a large number of parameters describing the database and the hardware environment. Modifying these parameters in order to steer the optimizer to select other plans is difficult since this means anticipating often complex search strategies implemented in the optimizer.In this paper we devise algorithms for counting, exhaustive generation, and uniform sampling of plans from the complete search space. Our techniques allow extensive validation of both generation of alternatives, and execution algorithms with plans other than the optimized one—if two candidate plans fail to produce the same results, then either the optimizer considered an invalid plan, or the execution code is faulty. When the space of alternatives becomes too large for exhaustive testing, which can occur even with a handful of joins, uniform random sampling provides a mechanism for unbiased testing.The technique is implemented in Microsoft's SQL Server, where it is an integral part of the validation and testing process.