Sort-Merge Band Join Optimization via Predicate Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems are inefficient in processing band join queries due to the lack of recognition of band join predicates, leading to inefficient Cartesian joins and redundant operations.

Innovation Solution

The implementation of enhanced sort-merge join optimization that detects band join conditions, allowing for early termination of scanning when rows fall outside the band join bounds, and the use of overlap distribution for parallel processing to improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional join algorithms are used for band join queries, then the join operation can be performed, but the processing efficiency is low due to redundant operations and inability to recognize band join predicates

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidquery execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary detection of band join predicates during query optimization, identifying the specific pattern of band join conditions (R.x-B1>=S.y and R.x+B2>=S.y) before execution. This preliminary recognition allows the system to prepare an optimized execution plan that avoids redundant operations, directly improving processing efficiency and reducing query execution time

Inventive Principle:
Principle #10Preliminary action

2Productivity

If Cartesian join is used without band join recognition, then the join operation can be performed, but unnecessary operations are performed leading to wasted computational resources

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidcomputational resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system extracts and isolates the band join predicate pattern from general join conditions during query parsing. By specifically identifying the band join structure (R.x-B1>=S.y and R.x+B2>=S.y), the system can apply specialized optimization logic that eliminates unnecessary comparisons and operations, reducing computational resource waste while maintaining correct join results

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10635671B2Sort-merge band join optimization
Publication Date: 2020.04.28 ORACLE INT CORP
  • US10635671B2 patent drawing
  • US10635671B2 patent drawing
  • US10635671B2 patent drawing

AI summary

Techniques herein optimize sort-merge join method for a band join. In an embodiment, for a query comprising a query block specifying a join between a first table and a second table, a band join condition is detected between the first table and the second table. Once the band join condition in detected, an execution plan is generated and executed. The execution of the execution plan includes: for a first row of at least a subset of first sorted rows, scanning second rows from a set of second sorted rows, joining each of said second rows with said first row, and ceasing to scan when encountering a row from the second sorted rows that falls outside a bound of said band join condition. Techniques also include parallelizing a workload by overlapping the distribution of rows to the same slave process and computing cost and cardinality estimation for enhanced band join.