Database Query Regression Detection With Execution Plan Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems do not monitor or check for query regression, leading to slower response times that may not be noticed until they impact customer interactions.

Innovation Solution

A system and method to determine regression of a database query by monitoring metrics, comparing performance measures, and generating a regression report to identify and address inefficient execution plans.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the database system generates an execution plan based on database statistics and query constraints, then the query can be executed, but the execution plan may not be optimal leading to slower response times and query regression

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism by continuously monitoring query performance metrics (execution time, I/O operations, CPU usage) and comparing them against baseline performance. When regression is detected through this feedback loop, the system generates alerts and can trigger automatic execution plan reoptimization, resolving the contradiction between initial execution plan generation and subsequent performance degradation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by establishing performance baselines before regression occurs and proactively monitoring for degradation. By setting up performance thresholds and detection mechanisms in advance, the system can identify and address query regression before it significantly impacts productivity, thus preventing rather than just reacting to performance issues.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the database system does not monitor for query regression, then system complexity is reduced, but regression may not be noticed until it impacts customer interactions

Engineering Contradiction:
Improvemonitoring system complexityVSAvoidquery performance reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The monitoring system is designed to be self-service by automatically collecting performance metrics, comparing them against baselines, detecting regression conditions, and generating alerts without requiring external intervention. The system serves itself by autonomously maintaining performance monitoring capabilities, thus adding minimal complexity while significantly improving reliability through continuous self-assessment.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If performance measures are stored and compared for all database queries, then query regression can be detected, but data storage and processing requirements increase

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidstored performance data volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system applies local quality by selectively monitoring and storing performance measures based on query characteristics, execution frequency, and business criticality. Rather than uniformly monitoring all queries, the system focuses measurement resources on high-priority queries where regression detection provides the most value, thus achieving adequate measurement precision for critical operations while minimizing overall data storage requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12373430B2Methods and systems for determining regression of a database query
Publication Date: 2025.07.29 FMR CORP
  • US12373430B2 patent drawing
  • US12373430B2 patent drawing
  • US12373430B2 patent drawing

AI summary

A method for determining regression of a database query associated with a first execution plan includes receiving a first performance measure for the database query and the first execution plan; determining a presence of at least one stored performance measure for the database query in a data repository; adding the first performance measure and identifiers for the database query and the first execution plan to a synchronization list; retrieving a second performance measure associated with a second execution plan from the data repository; determining a regression of the database query by comparing the first performance measure to the second performance measure; in response to a determination that the database query is regressed, adding the first performance measure, the second performance measure, and identifiers for the database query and the first execution plan to a regression report.