RDBMS Limit Query Optimization via Cardinality Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for optimizing limit queries over analytical functions in relational database management systems (RDBMS) are inadequate, particularly due to the unknown semantic properties of analytical functions and their high computational complexity, leading to inefficient resource utilization and data transfer.

Innovation Solution

The implementation of static compile-time and dynamic run-time optimizations that utilize semantic properties such as 'granularity' and 'input-to-output cardinality' to minimize the input records processed by analytical functions, thereby optimizing limit queries with clauses like LIMIT, TOP, and SAMPLE, and reducing unnecessary data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all input records are processed by analytical functions to ensure complete result set, then result accuracy is improved, but execution time and resource usage increase significantly

Engineering Contradiction:
Improveresult accuracyVSAvoidquery execution time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pushing the LIMIT clause down through the query plan to the analytical function input stage. This allows the system to pre-determine and limit the number of input records processed by analytical functions based on the desired output size K and the function's input-to-output cardinality ratio, avoiding unnecessary processing of excess records while ensuring the required number of output records are generated

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting the LIMIT value applied to analytical function inputs based on the function's semantic properties, specifically its input-to-output cardinality. The system modifies the effective input limit parameter from the original K to K divided by the cardinality ratio, optimizing the balance between processing sufficient records for accuracy and limiting records for performance

Inventive Principle:
Principle #35Parameter changes

2Reliability

If LIMIT clause is applied after analytical function execution, then complete input processing ensures accurate results, but unnecessary data processing increases resource usage

Engineering Contradiction:
Improveresult accuracyVSAvoidresource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements preliminary action by transforming the query execution plan to apply the LIMIT clause at the input stage of analytical functions rather than after execution. This preliminary limitation of input records prevents wasteful processing of data that would be discarded anyway, while maintaining result accuracy through proper cardinality-based calculation of the required input subset

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and utilizes the semantic properties of analytical functions, specifically their input-to-output cardinality ratios, to determine the precise number of input records needed. By extracting this metadata information and applying it to limit the input records before analytical function execution, the system eliminates processing of unnecessary data while preserving the required output accuracy

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If semantic properties of analytical functions are utilized for optimization, then query performance is improved, but system complexity increases

Engineering Contradiction:
Improvequery performanceVSAvoidoptimization system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing the input-to-output cardinality ratios of analytical functions in a metadata catalog during system initialization or function registration. This preliminary preparation allows the query optimizer to efficiently retrieve and utilize these semantic properties during query optimization without adding complex computation during query execution, thus improving performance while managing system complexity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11468102B2Optimizing limit queries over analytical functions
Publication Date: 2022.10.11 TERADATA US INC
  • US11468102B2 patent drawing
  • US11468102B2 patent drawing
  • US11468102B2 patent drawing

AI summary

A relational database management system (RDBMS) optimizes limit queries over analytical functions, wherein the limit queries include an output clause comprising a LIMIT, TOP and SAMPLE clause with an expression specifying a limit that is a number K or a percentage α %. The optimizations of the limit queries include: (1) static compile-time optimizations, and (2) dynamic run-time optimizations, based on semantic properties of “granularity” and “input-to-output cardinality” for the analytical functions.