Query graphs, implementing trees, and freely-reorderable outerjoins
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Hypergraph based reorderings of outer join queries with complex predicates
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Rapid bushy join-order optimization with Cartesian products
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Outerjoin simplification and reordering for query optimization
ACM Transactions on Database Systems (TODS)
Orthogonal optimization of subqueries and aggregation
SIGMOD '01 Proceedings of the 2001 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
How to Extend a Conventional Optimizer to Handle One- and Two-Sided Outerjoin
Proceedings of the Eighth International Conference on Data Engineering
The MD-join: An Operator for Complex OLAP
Proceedings of the 17th International Conference on Data Engineering
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
Full-Fledged Algebraic XPath Processing in Natix
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
XQuery implementation in a relational database system
VLDB '05 Proceedings of the 31st international conference on Very large data bases
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Strategies for query unnesting in XML databases
ACM Transactions on Database Systems (TODS)
Optimal top-down join enumeration
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Main memory implementations for binary grouping
XSym'05 Proceedings of the Third international conference on Database and XML Technologies
Optimizing runtime XML processing in relational databases
XSym'05 Proceedings of the Third international conference on Database and XML Technologies
Parallelizing query optimization
Proceedings of the VLDB Endowment
Dependency-aware reordering for parallelizing query optimization in multi-core CPUs
Proceedings of the 2009 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
BNCOD 26 Proceedings of the 26th British National Conference on Databases: Dataspace: The Final Frontier
A new look at generating multi-join continuous query plans: A qualified plan generation problem
Data & Knowledge Engineering
Opening the black boxes in data flow optimization
Proceedings of the VLDB Endowment
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
On the correct and complete enumeration of the core search space
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Using similarity distance for performance prediction of the query optimization process
Proceedings of the Sixth International Workshop on Testing Database Systems
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 |
Two highly efficient algorithms are known for optimally ordering joins while avoiding cross products: DPccp, which is based on dynamic programming, and Top-Down Partition Search, based on memoization. Both have two severe limitations: They handle only (1) simple (binary) join predicates and (2) inner joins. However, real queries may contain complex join predicates, involving more than two relations, and outer joins as well as other non-inner joins. Taking the most efficient known join-ordering algorithm, DPccp, as a starting point, we first develop a new algorithm, DPhyp, which is capable to handle complex join predicates efficiently. We do so by modeling the query graph as a (variant of a) hypergraph and then reason about its connected subgraphs. Then, we present a technique to exploit this capability to efficiently handle the widest class of non-inner joins dealt with so far. Our experimental results show that this reformulation of non-inner joins as complex predicates can improve optimization time by orders of magnitude, compared to known algorithms dealing with complex join predicates and non-inner joins. Once again, this gives dynamic programming a distinct advantage over current memoization techniques.