Query Plan Pipeline Bypass for Complete Result Set Operators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database query optimization techniques do not efficiently handle operators that require a complete result set as input, leading to suboptimal performance and increased memory usage.

Innovation Solution

The proposed solution involves generating a query plan that bypasses pipelining between operators that require a complete result set and those that can provide it using a state identified by a state reference, or continues to use chunks for data exchange if the second operator does not support this state-based approach.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pipelining is used between operators to enable continuous data flow, then processing throughput is improved, but memory usage increases and execution efficiency deteriorates for operators requiring complete result sets

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically determines whether to apply pipelining based on operator characteristics. The query optimizer analyzes each operator to identify if it requires a complete result set, and selectively disables pipelining for such operators while maintaining it for others, creating a dynamic adaptation to different operator requirements

Inventive Principle:
Principle #15Dynamics

2Speed

If pipelining is used between operators to enable continuous data flow, then processing speed is improved, but query execution efficiency deteriorates for operators requiring complete result sets

Engineering Contradiction:
Improveprocessing speedVSAvoidquery execution efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system applies different data exchange strategies to different segments of the query plan based on local operator requirements. Operators requiring complete result sets receive non-pipelined data exchange, while operators that can handle chunked data receive pipelined data exchange, optimizing each local segment according to its specific needs

Inventive Principle:
Principle #3Local quality

3Productivity

If pipelining is used between operators to enable continuous data flow, then data exchange efficiency is improved, but complexity of data exchange management increases

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidcomplexity of data exchange management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Operators self-identify their data exchange requirements by implementing interfaces that indicate whether they need complete result sets or can process chunked data. The query optimizer automatically detects these requirements and configures appropriate data exchange strategies without requiring manual intervention or complex management overhead

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12326861B2Pipeline bypass for certain query plan operators
Publication Date: 2025.06.10 SAP SE
  • US12326861B2 patent drawing
  • US12326861B2 patent drawing
  • US12326861B2 patent drawing

AI summary

In some implementations, there is provided pipeline bypassing of certain operators. In some implementations, a method includes generating a query plan including at least one pipeline of operators; determining whether the at least one pipeline of operators includes a first operator that requires a complete result set as an input and further includes a second operator that supports providing the complete result set using a state identified by a state reference; and in response to determining the at least one pipeline of operators includes the first operator that requires the complete result set as the input and further includes the second operator that supports providing the complete result set using the state identified by the state reference, bypassing in the query plan pipelining between the first operator and the second operator.