Query Execution Plan Recommendations for Changing SQL Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems struggle to predict and optimize query execution plans effectively due to changing dataset characteristics over time, leading to inefficient query performance.
Innovation Solution
A system that utilizes a time-series machine learning model to predict future dataset characteristics and generate recommendations for modifying query execution plans, including data objects, operations, and cost models, based on historical trends and expected events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a database management system uses traditional query execution plan optimization methods, then the query execution plan can be generated based on current dataset characteristics, but the query performance deteriorates when dataset characteristics change over time
Solution Approach 1:
The system performs preliminary actions by predicting future dataset characteristics using time-series machine learning models before the actual query execution. This allows the query optimizer to proactively adjust execution plans based on anticipated data changes, rather than reacting to changes after they occur. The prediction component generates future dataset state estimates that are used to optimize query performance in advance.
Solution Approach 2:
The system makes the query execution plan dynamic by continuously updating it based on predicted future dataset characteristics. Instead of using static execution plans that become outdated as data changes, the system dynamically adjusts execution plans to adapt to evolving dataset conditions. This dynamic approach allows the system to maintain optimal performance despite changing data characteristics over time.
2Productivity
If the database system frequently updates query execution plans to adapt to changing data, then query performance is maintained, but the system complexity and computational overhead increase
Solution Approach 1:
The system introduces a time-series machine learning prediction model as an intermediary between the raw dataset changes and the query execution plan. This intermediary component translates complex dataset evolution patterns into predicted future states that the query optimizer can use. By inserting this prediction layer, the system manages complexity rather than directly handling all raw data changes, making the overall system more tractable while maintaining performance.
Solution Approach 2:
The system changes parameters by using predicted future dataset characteristics (such as predicted row counts, data distributions, and statistical properties) as inputs to the query optimizer. Instead of reacting to actual current data states, the system optimizes based on predicted parameter values that represent future dataset conditions. This parameter transformation approach allows the system to anticipate performance issues and adjust execution plans proactively.
3Reliability
If the system uses machine learning models to predict future dataset characteristics, then query execution plan performance is improved, but the computational resources and time required for prediction increase
Solution Approach 1:
The system applies partial action by using machine learning prediction selectively for queries that benefit most from optimized execution plans. Rather than predicting and optimizing all queries equally, the system focuses computational prediction resources on queries where performance improvement is most critical. This selective approach reduces overall prediction time while maintaining high performance for important queries.
Solution Approach 2:
The system maintains continuity of useful action by using time-series machine learning models that leverage historical prediction accuracy and learned patterns to make faster future predictions. The models continuously learn from past dataset evolution patterns, improving prediction efficiency over time. This continuous learning reduces the computational burden of predictions while maintaining or improving accuracy, thereby reducing the time loss associated with prediction.
Data Source
AI summary
Techniques for generating recommendations based on the predicted performance of an execution plan are disclosed. A system predicts the future characteristics of a set of data objects associated with a set of structured query language (SQL) statements. The system predicts how the changes to the set of data objects will result in changes to a query execution plan associated with the SQL statements. The system predicts a set of performance metrics for the changed query execution plan. Based on the predicted performance, the system generates recommendations for modifying data, applications, or database server operations to improve performance.


