On the optimal nesting order for computing N-relational joins
ACM Transactions on Database Systems (TODS)
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
Predicate migration: optimizing queries with expensive predicates
SIGMOD '93 Proceedings of the 1993 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
On the Complexity of Generating Optimal Left-Deep Processing Trees with Cross Products
ICDT '95 Proceedings of the 5th International Conference on Database Theory
Fast, Randomized Join-Order Selection - Why Use Transformations?
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
The Volcano Optimizer Generator: Extensibility and Efficient Search
Proceedings of the Ninth International Conference on Data Engineering
On the complexity of generating optimal plans with cross products (extended abstract)
PODS '97 Proceedings of the sixteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Iterative dynamic programming: a new class of query optimization algorithms
ACM Transactions on Database Systems (TODS)
Optimizing Large Join Queries in Mediation Systems
ICDT '99 Proceedings of the 7th International Conference on Database Theory
The Complexity of Transformation-Based Join Enumeration
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Evaluation of Main Memory Join Algorithms for Joins with Set Comparison Join Predicates
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Multi Query Optimization Using Query Pack Trees
EDBT '02 Proceedings of the Worshops XMLDM, MDDE, and YRWS on XML-Based Data Management and Multimedia Engineering-Revised Papers
Join Order Selection - Good Enough Is Easy
BNCOD 17 Proceedings of the 17th British National Conferenc on Databases: Advances in Databases
A Multi-query Optimizer for Monet
BNCOD 17 Proceedings of the 17th British National Conferenc on Databases: Advances in Databases
The VLDB Journal — The International Journal on Very Large Data Bases
OPT++ : an object-oriented implementation for extensible database query optimization
The VLDB Journal — The International Journal on Very Large Data Bases
Heuristic and randomized optimization for the join ordering problem
The VLDB Journal — The International Journal on Very Large Data Bases
A performance study of four index structures for set-valued attributes of low cardinality
The VLDB Journal — The International Journal on Very Large Data Bases
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Reducing the cost of accessing relations in incremental view maintenance
Decision Support Systems
Optimal top-down join enumeration
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Holistic twig joins on indexed XML documents
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Extending XQuery with window functions
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Dynamic programming strikes back
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Query simplification: graceful degradation for join-order optimization
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Parallelizing extensible query optimizers
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Mode Aware Stream Query Processing
SSDBM 2009 Proceedings of the 21st International Conference on Scientific and Statistical Database Management
BNCOD 26 Proceedings of the 26th British National Conference on Databases: Dataspace: The Final Frontier
ModParOpt: a modular query optimizer for multi-query parallel databases
ADBIS'97 Proceedings of the First East-European conference on Advances in Databases and Information systems
Deriving predicate statistics for logic rules
RR'12 Proceedings of the 6th international conference on Web Reasoning and Rule Systems
Non-termination analysis and cost-based query optimization of logic programs
RR'12 Proceedings of the 6th international conference on Web Reasoning and Rule Systems
An evolutionary multi-agent system for database query optimization
Proceedings of the 15th annual conference on Genetic and evolutionary computation
A performance study of three disk-based structures for indexing and querying frequent itemsets
Proceedings of the VLDB Endowment
Counter strike: generic top-down join enumeration for hypergraphs
Proceedings of the VLDB Endowment
Subquery plan reuse based query optimization
Proceedings of the 17th International Conference on Management of Data
Hi-index | 0.00 |
Query optimizers often limit the search space for join orderings, for example by excluding Cartesian products in subplans or by restricting plan trees to left-deep vines. Such exclusions are widely assumed to reduce optimization effort while minimally affecting plan quality. However, we show that searching the complete space of plans is more affordable than has been previously recognized, and that the common exclusions may be of little benefit.We start by presenting a Cartesian product optimizer that requires at most a few seconds of workstation time to search the space of bushy plans for products of up to 15 relations. Building on this result, we present a join-order optimizer that achieves a similar level of performance, and retains the ability to include Cartesian products in subplans wherever appropriate. The main contribution of the paper is in fully separating join-order enumeration from predicate analysis, and in showing that the former problem in particular can be solved swiftly by novel implementation techniques. A secondary contribution is to initiate a systematic approach to the benchmarking of join-order optimization, which we apply to the evaluation of our method.