Database Optimizer Access Path Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems often select inefficient access paths for data retrieval, leading to performance issues due to inaccurate assumptions during data binding, which can result in resource-intensive queries and complex operations.

Innovation Solution

A performance simulation system generates additional access paths by calculating execution times based on real-time system performance factors, allowing the database optimizer to select more efficient paths and compare filter factor vectors, thereby improving query execution speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the database system uses traditional access path selection methods based on data binding assumptions, then the system structure remains simple, but the query execution performance deteriorates due to inaccurate filter factor estimates

Engineering Contradiction:
Improveaccess path selection accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary simulation of query execution through multiple alternative access paths before actual query processing. By pre-calculating execution times and comparing filter factor vectors, the system determines the optimal access path in advance, avoiding the need for complex real-time optimizations during query execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates simulated copies of the database and query execution environment to test multiple access paths without affecting the actual database. These simulation copies allow accurate performance estimation and comparison of different access strategies before committing to a specific path.

Inventive Principle:
Principle #26Copying

2Productivity

If the database optimizer selects a suboptimal access path, then the system operation remains simple, but the query execution time increases and resource utilization worsens

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

Solution Approach 1:

The system uses filter factor vectors as feedback mechanisms to evaluate and compare different access paths. By simulating query execution and measuring actual filter factors, the system continuously refines its access path selection based on performance feedback, ensuring optimal query execution speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically changes execution parameters by selecting different access paths based on simulated performance metrics. By adjusting which access path is used based on filter factor comparisons, the system optimizes query execution speed without requiring structural changes to the database.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the system generates and evaluates multiple alternative access paths, then the query execution efficiency improves, but the computational complexity and processing overhead increase

Engineering Contradiction:
Improveperformance optimization accuracyVSAvoidoptimizer complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the access path evaluation process into distinct simulation and comparison phases. By dividing the optimization task into generating alternative paths, simulating each path's execution, and comparing filter factor vectors, the system manages complexity through structured decomposition of the optimization problem.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12045235B2Access path for database optimizer
Publication Date: 2024.07.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12045235B2 patent drawing
  • US12045235B2 patent drawing
  • US12045235B2 patent drawing

AI summary

In a computer-implemented method for improving performance of a database optimizer, a processor calculates a first execution time for a database query executing through a first access path of a database system. A processor generates a second access path. A processor determines a second execution time via a simulation of the database query through the second access path. A processor determines that the second execution time is less than the first execution time. A processor, responsive to determining that the second execution time is less than the first execution time, sends the second access path to the database optimizer.