Offset Pushdown for Multipart Database Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges in optimizing performance when handling complex queries with offset and limit clauses, particularly due to the high computational and memory costs associated with merging intermediate result sets from multiple database shards.

Innovation Solution

A method is introduced to detect select queries with order by, offset, and limit clauses, determining a modified offset by subtracting the size of the smaller dataset from the original offset, and executing the query on the larger dataset using this modified offset to reduce the number of comparisons and intermediate results, thereby optimizing runtime and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the select query is executed on multiple database shards and intermediate result sets are merged, then the query can access distributed data, but the computational and memory costs increase significantly

Engineering Contradiction:
Improvedistributed data accessVSAvoidcomputational and memory costs
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by calculating the modified offset value before executing the select query on database shards. The query optimizer determines the size of smaller intermediate result sets in advance and uses this information to adjust the offset value, thereby avoiding unnecessary data retrieval and merging operations, which reduces computational and memory costs while maintaining distributed data access capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and eliminates unnecessary intermediate result sets through modified offset pushdown. By calculating the effective offset after accounting for smaller dataset sizes, the system removes redundant data that would otherwise be retrieved, merged, and then discarded, thus reducing the computational burden of merging operations

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If the offset value is pushed down to database shards, then query execution can skip unnecessary rows, but the offset calculation becomes more complex when merging multiple result sets

Engineering Contradiction:
Improvequery execution speedVSAvoidoffset calculation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent changes the offset parameter dynamically based on the sizes of intermediate result sets from different database shards. The query optimizer calculates a modified offset value that accounts for the cumulative size of smaller datasets, transforming the simple offset pushdown into an adaptive parameter adjustment that maintains execution speed while handling merge complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback by using information about intermediate result set sizes to adjust the offset calculation. The query optimizer receives feedback about the actual or estimated sizes of datasets from different shards and uses this feedback to compute the modified offset value, creating a closed-loop system that optimizes query execution

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If all intermediate result sets are merged before applying offset and limit, then the result ordering is correct, but the processing time and memory usage increase

Engineering Contradiction:
Improveresult ordering accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by determining the modified offset value before executing the query and merging operations. The query optimizer calculates how many rows can be skipped in advance based on the sizes of smaller intermediate result sets, allowing the system to maintain correct result ordering while avoiding the time-consuming process of merging all intermediate results before applying offset and limit

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10789249B2Optimal offset pushdown for multipart sorting
Publication Date: 2020.09.29 SAP SE
  • US10789249B2 patent drawing
  • US10789249B2 patent drawing
  • US10789249B2 patent drawing

AI summary

In some aspects, a method, computer program product, and system are provided for query optimization. In some implementations, there may be provided a method including detecting a select query as a candidate for optimization, the select query including an order by, an offset value, and a limit value; determining, in response to the detecting, a modified offset value as the difference between the offset value and a size of a smaller dataset; and performing the select query to form a result set, the select query executed based on at least the modified offset value. Related systems, methods, and articles of manufacture are also described.