Join Predicate Pushdown for Database Query Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database systems face inefficiencies in query optimization due to limited transformation capabilities, leading to costly evaluation of numerous possible execution plans during query optimization.
Innovation Solution
The implementation of novel join predicate pushdown transformations allows for more efficient query optimization by pushing join predicates into views, opening new access paths and enabling more efficient execution plans, such as index-based nested-loop joins, which can remove expensive operators like GROUP BY and DISTINCT.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the query optimizer performs more kinds of transformations under more kinds of conditions, then the quality of execution plans improves, but the computational cost of query optimization increases
Solution Approach 1:
The patent applies preliminary action by pushing join predicates down into views during query transformation, before execution. This advance preparation enables more efficient execution plans by pre-establishing join conditions, allowing the optimizer to generate higher quality plans without proportionally increasing optimization cost.
Solution Approach 2:
The patent changes the parameter of query transformation by introducing join predicate pushdown as a new transformation type. This parameter change enables the system to explore additional transformation spaces and generate better execution plans while managing optimization complexity through targeted application of the transformation.
2Productivity
If join predicate pushdown transformations are implemented, then query execution efficiency improves, but the complexity of query optimization increases
Solution Approach 1:
The patent segments the query optimization process by applying join predicate pushdown specifically to view transformations. This segmentation allows the complex optimization task to be broken into manageable parts, improving execution efficiency through targeted transformations without overwhelming the optimizer with excessive complexity.
3Manufacturing precision
If more transformation options are generated during query optimization, then the optimal execution plan quality improves, but the time required for query optimization increases
Solution Approach 1:
By performing join predicate pushdown as a preliminary transformation step, the patent enables the generation of higher quality execution plans with reduced optimization time. The advance preparation of join conditions in views creates a more favorable basis for subsequent optimization steps, improving plan quality without linearly increasing optimization time.
Data Source
AI summary
Join predicate push down transformations push down a join predicate of an outer query into a view. Among the types of views for which join predicate push down is performed are a view with a GROUP BY or DISTINCT operator, an anti-joined or semi-joined view, and a view that contains one or more nested views. During optimization, join predicate push down may be used to generate many transformed queries for comparison. The number of query transformations performed for comparison is managed.


