PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
June 9, 2008100 citations

Dynamic programming strikes back

View Full Paper
GMGuido MoerkotteTNThomas Neumann

Key Points

  • To extend dynamic programming join-ordering algorithms to efficiently support complex multi-relation predicates and a wide class of non-inner joins.
  • Modeled relational database query graphs as hypergraphs to identify and enumerate valid connected subgraphs without generating cross products.
  • Developed DPhyp, a dynamic programming algorithm that formulates non-inner joins as complex join predicates.
  • Evaluated optimization runtime performance against existing dynamic programming and memoization-based join-ordering algorithms.
  • Improved query optimization time by orders of magnitude compared to previous algorithms handling complex join predicates and non-inner joins.
  • Successfully expanded exact join-enumeration coverage to the widest class of non-inner joins reported to date without relying on memoization techniques.

Abstract

Two highly efficient algorithms are known for optimally ordering joins while cross products: , which is based on dynamic programming, and Top-Down Partition Search, on memoization. have two severe limitations: handle only (1) simple (binary) join predicates and (2) inner joins. , real queries may contain complex join predicates, involving more than relations, outer joins as well as other non-inner joins. the most efficient known join-ordering algorithm, DPccp, as a starting, first develop a new algorithm, DPhyp, is capable to handle complex join predicates efficiently. do so by modeling the query graph as a (variant of a) hypergraph and then about its subgraphs. , we present a technique to exploit this capability to efficiently handle widest class of non-inner joins dealt with so far. experimental results show that this reformulation of-inner joins as complex predicates can improve optimization by orders of magnitude, compared to known algorithms dealing with complex predicates non-inner joins. again, this gives dynamic programming a distinct advantage over current techniques.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Moerkotte et al. (2008) studied this question.

synapsesocial.com/papers/6a1ef47052be8f5fb3e6aaabhttps://doi.org/10.1145/1376616.1376672
Ask AI
Helpful
Bookmark
Share
View Full Paper