LinDP++: Generalizing Linearized DP to Crossproducts and Non-Inner Joins
dc.contributor.author | Radke, Bernhard | |
dc.contributor.author | Neumann, Thomas | |
dc.contributor.editor | Grust, Torsten | |
dc.contributor.editor | Naumann, Felix | |
dc.contributor.editor | Böhm, Alexander | |
dc.contributor.editor | Lehner, Wolfgang | |
dc.contributor.editor | Härder, Theo | |
dc.contributor.editor | Rahm, Erhard | |
dc.contributor.editor | Heuer, Andreas | |
dc.contributor.editor | Klettke, Meike | |
dc.contributor.editor | Meyer, Holger | |
dc.date.accessioned | 2019-04-11T07:21:38Z | |
dc.date.available | 2019-04-11T07:21:38Z | |
dc.date.issued | 2019 | |
dc.description.abstract | Choosing the best join order is one of the main tasks of query optimization, as join ordering can easily affect query execution times by large factors. Finding the optimal join order is NP-hard in general, which means that the best known algorithms have exponential worst case complexity. As a consequence only relatively modest problems can be solved exactly, which is a problem for today’s large, machine generated queries. Two developments have improved the situation: If we disallow crossproducts, graph-based DP algorithms have pushed the boundary of solvable problems to a few dozen relations. Beyond that, the linearized DP strategy, where an optimal left-deep plan is used to linearize the search space of a subsequent DP, has proven to work very well up to a hundred relations or more. However, these strategies have limitations: Graph-based DP intentionally does not consider implicit crossproducts, which is almost always ok but sometimes undesirable, as in some cases such crossprod-ucts are beneficial. Even more severe, linearized DP can handle neither crossproducts nor non-inner joins, which is a serious limitation. Large queries with, e. g., outer joins are quite common and having to fall back on simple greedy heuristics in this case is highly undesirable. In this work we remove both limitations: First, we generalize the underlying linearization strategy to handle non-inner joins, which allows us to linearize the search space of arbitrary queries. And second, we explicitly recognize potential crossproduct opportunities, and expose them to the join ordering strategies by augmenting the query graph. This results in a very generic join ordering framework that can handle arbitrary queries and produces excellent results over the whole range of query sizes. | en |
dc.identifier.doi | 10.18420/btw2019-05 | |
dc.identifier.isbn | 978-3-88579-683-1 | |
dc.identifier.pissn | 1617-5468 | |
dc.identifier.uri | https://dl.gi.de/handle/20.500.12116/21735 | |
dc.language.iso | en | |
dc.publisher | Gesellschaft für Informatik, Bonn | |
dc.relation.ispartof | BTW 2019 | |
dc.relation.ispartofseries | Lecture Notes in Informatics (LNI) – Proceedings, Volume P-289 | |
dc.title | LinDP++: Generalizing Linearized DP to Crossproducts and Non-Inner Joins | en |
gi.citation.endPage | 76 | |
gi.citation.startPage | 57 | |
gi.conference.date | 4.-8. März 2019 | |
gi.conference.location | Rostock | |
gi.conference.sessiontitle | Wissenschaftliche Beiträge |
Dateien
Originalbündel
1 - 1 von 1