Algorithms for Efficient Top-Down Join Enumeration

· GRIN Verlag
電子書
201
符合資格

關於本電子書

Doctoral Thesis / Dissertation from the year 2014 in the subject Computer Science - Applied, grade: summa cum laude, University of Mannheim (School of Business Informatics and Mathematics), course: Databases, language: English, abstract: For a DBMS that provides support for a declarative query language like SQL, the query optimizer is a crucial piece of software. The declarative nature of a query allows it to be translated into many equivalent evaluation plans. The process of choosing a suitable plan from all alternatives is known as query optimization. The basis of this choice are a cost model and statistics over the data. Essential for the costs of a plan is the execution order of join operations in its operator tree, since the runtime of plans with different join orders can vary by several orders of magnitude. An exhaustive search for an optimal solution over all possible operator trees is computationally infeasible. To decrease complexity, the search space must be restricted. Therefore, a well-accepted heuristic is applied: All possible bushy join trees are considered, while cross products are excluded from the search. There are two efficient approaches to identify the best plan: bottom-up and top-down join enumeration. But only the top-down approach allows for branch-and-bound pruning, which can improve compile time by several orders of magnitude, while still preserving optimality. Hence, this thesis focuses on the top-down join enumeration. In the first part, we present two efficient graph-partitioning algorithms suitable for top-down join enumeration. However, as we will see, there are two severe limitations: The proposed algorithms can handle only (1) simple (binary) join predicates and (2) inner joins. Therefore, the second part adopts one of the proposed partitioning strategies to overcome those limitations. Furthermore, we propose a more generic partitioning framework that enables every graph-partitioning algorithm to handle join predicates involving more than two relations, and outer joins as well as other non-inner joins. As we will see, our framework is more efficient than the adopted graph-partitioning algorithm. The third part of this thesis discusses the two branch-and-bound pruning strategies that can be found in the literature. We present seven advancements to the combined strategy that improve pruning (1) in terms of effectiveness, (2) in terms of robustness and (3), most importantly, avoid the worst-case behavior otherwise observed. Different experiments evaluate the performance improvements of our proposed methods. We use the TPC-H, TPC-DS and SQLite test suite benchmarks to evaluate our joined contributions.

為這本電子書評分

歡迎提供意見。

閱讀資訊

智慧型手機與平板電腦
只要安裝 Google Play 圖書應用程式 Android 版iPad/iPhone 版,不僅應用程式內容會自動與你的帳戶保持同步,還能讓你隨時隨地上網或離線閱讀。
筆記型電腦和電腦
你可以使用電腦的網路瀏覽器聆聽你在 Google Play 購買的有聲書。
電子書閱讀器與其他裝置
如要在 Kobo 電子閱讀器這類電子書裝置上閱覽書籍,必須將檔案下載並傳輸到該裝置上。請按照說明中心的詳細操作說明,將檔案傳輸到支援的電子閱讀器上。