SQL Performance Analyzer for Database Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database administrators face challenges in predicting the impact of changes on database system performance, making it difficult to ensure that performance does not regress after implementing upgrades, modifications, or index creations in production systems.

Innovation Solution

The SQL Performance Analyzer (SPA) tool compares the performance of a workload set across different database systems by executing and analyzing SQL statements on both unchanged and changed systems, providing quantitative measurements and recommendations to prevent performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If database system changes are implemented to improve functionality or performance, then the database system capabilities are enhanced, but the risk of performance regression increases

Engineering Contradiction:
Improvedatabase system capabilitiesVSAvoidperformance stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by executing SQL statements from a workload set on a test database system before implementing changes in production. This allows performance analysis and prediction of potential regressions to occur in advance, enabling DBAs to take corrective actions before deploying changes to the production system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a test database system that copies the production database system structure and data. By analyzing SQL statement performance on this copy, the system can predict production performance impact without risking actual production system stability. The test system serves as a safe replica for preliminary performance testing.

Inventive Principle:
Principle #26Copying

2Measurement precision

If performance testing is conducted on the production database system to measure change impact, then accurate performance measurements are obtained, but system availability and user access are disrupted

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidsystem availability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a test database system that is a copy of the production system. Performance testing is conducted on this copy rather than the actual production system, allowing accurate performance measurements to be obtained without disrupting production system availability or user access.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The test database system acts as an intermediary between the DBA and the production database system. It allows performance analysis and measurement activities to be performed indirectly on production-like data without directly impacting the production system's availability or user operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If comprehensive performance analysis of all SQL statements is performed, then complete performance insight is achieved, but the analysis time and computational resources increase

Engineering Contradiction:
Improveperformance insight completenessVSAvoidanalysis time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts only the necessary SQL statements from the workload set for performance analysis. Rather than analyzing all possible database operations, the system identifies and analyzes specific SQL statements that are relevant to the changes being made, reducing analysis time while maintaining complete performance insight for the affected statements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs partial action by analyzing a subset of SQL statements from the workload set that are most relevant to the database changes. This selective approach provides sufficient performance insight without requiring exhaustive analysis of every possible query, thereby reducing computational resources and analysis time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8341178B2SQL performance analyzer
Publication Date: 2012.12.25 ORACLE INT CORP
  • US8341178B2 patent drawing
  • US8341178B2 patent drawing
  • US8341178B2 patent drawing

AI summary

Techniques are provided for analyzing performance differences for a set of database query language statements on two different database systems. The performance analysis is based on quantitative measurements and estimates of the execution of the set of database query language statements on the two different database systems. This performance analysis process may be used by database administrators to predict impacts to performance due to a change in a database system.