Semi-Join Substitution for Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face inefficiencies in processing queries with semi-join operations due to the inability to re-order semi-joins freely, leading to high computing resource usage when dealing with large datasets and complex join predicates.

Innovation Solution

The implementation of the Post-Join Semi-Join Rewrite Technique, Semi-Join Substitution Technique, and Pre-Join Semi-Join Rewrite Technique allows for the substitution of semi-join operations with inner-join operations under specific conditions, optimizing query execution by reordering and removing duplicates, thereby improving database performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If semi-join operations are used to process queries with large datasets, then query results can be obtained, but computing resource usage increases significantly

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidcomputing resource usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent transforms the semi-join operation by changing the execution parameters and approach. Instead of processing semi-joins directly on large datasets which consumes high resources, the system rewrites the query to use inner-join operations with specific ordering and filtering strategies, fundamentally changing how the join is executed to reduce computing resource usage while maintaining correctness

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates alternative versions of the query plan by copying the original semi-join operation and transforming it into an inner-join operation with modified execution strategies. Multiple rewritten query plans are generated and evaluated to find the most efficient execution path, effectively copying and variations of the original approach to optimize performance

Inventive Principle:
Principle #26Copying

2Reliability

If semi-join operations are executed on large datasets, then complete results are obtained, but query execution time increases

Engineering Contradiction:
Improvequery result completenessVSAvoidquery execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary actions by rewriting the query before execution to use inner-join operations with predetermined ordering strategies. The query is transformed in advance to execute operations in a more efficient sequence, performing necessary filtering and joining operations beforehand to reduce overall execution time while ensuring complete and correct results

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic query optimization by evaluating multiple rewritten query plans and selecting the most efficient execution strategy based on dataset characteristics. The system dynamically chooses between different execution approaches (semi-join, inner-join with ordering, etc.) to optimize query execution time while maintaining result completeness

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If complex join predicates are used to filter data, then accurate results are obtained, but computing resource consumption increases

Engineering Contradiction:
Improvedata filtering accuracyVSAvoidjoin operation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the complex join predicate evaluation into separate operations. Instead of evaluating complex predicates in a single semi-join operation, the system breaks down the query into multiple simpler inner-join operations with smaller, more manageable predicates, reducing the complexity of individual join operations while maintaining overall filtering accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary steps in the query execution process. By rewriting the query to use inner-join operations as intermediaries, the system creates intermediate results that simplify the overall computation. These intermediary operations act as mediators between the complex filtering requirements and the available data, breaking down the complexity into manageable steps

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11468064B2Methods for substituting a semi-join operator with alternative execution strategies and selection methods to choose the most efficient solution under different plans
Publication Date: 2022.10.11 ORACLE INT CORP
  • US11468064B2 patent drawing
  • US11468064B2 patent drawing
  • US11468064B2 patent drawing

AI summary

The manner in which tables are joined can affect the outcome of the query and database performance. Example types of join operations include semi-join and inner-join. The techniques described herein are approaches that may be used to substitute a semi-join operator with an inner-join operator and may be used to transform and optimize representations of queries.